- Why doesn't the drvier call DrvTextOut?
- Posted by Conan on September 9th, 2005
Hi,
I am tracking msplot sample in the DDK. I found out the DrvTextOut have
never been called by the driver.Then I modified the DEVINFO's flGraphicsCaps
and GDIINFO's flTextCaps use follow codes:
pDevInfo->flGraphicsCaps = GCAPS_ALTERNATEFILL |
GCAPS_HORIZSTRIKE |
GCAPS_VERTSTRIKE |
GCAPS_VECTORFONT |
GCAPS_ARBRUSHOPAQUE |
GCAPS_ARBRUSHTEXT |
GCAPS_BEZIERS |
GCAPS_FORCEDITHER |
GCAPS_GEOMETRICWIDE |
GCAPS_HIGHRESTEXT |
GCAPS_GRAY16 |
GCAPS_OPAQUERECT |
GCAPS_WINDINGFILL;
..........
pGDIInfo->flTextCaps = TC_OP_CHARACTER | TC_OP_STROKE | TC_CP_STROKE |
TC_CR_90 | TC_CR_ANY | TC_SF_X_YINDEP | TC_SA_DOUBLE | TC_SA_INTEGER
|TC_SA_CONTIN | TC_EA_DOUBLE | TC_IA_ABLE | TC_UA_ABLE | TC_SO_ABLE |
TC_RA_ABLE | TC_VA_ABLE | TC_SCROLLBLT;
Then I tracked it again,Unfortunate,the driver still don't call
DrvTextOut.The driver also need to be modified? Where?
Welcome to every suggestion.
--
Conan Wu
Email:aqua_aqua@21cn.com
- Posted by Tim Roberts on September 10th, 2005
"Conan" <Conan@discussions.microsoft.com> wrote:
How do you know? How are you doing your debugging? What app are you using
for your testing?
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by Conan Wu on September 10th, 2005
HI Tim,
Thanks for your reply.
I used DS.net to debug thw driver,because the driver is user-mode.
About the test project,it is a simple MFC application.The follow show is its code.
void CTestVPrintView::OnDraw(CDC* pDC)
{
CString strText("Hello!Worrld");
CSize szText = pDC->GetTextExtent(strText);
CRect rcTxt(CPoint(300,200),szText);
pDC->TextOut(300,200,strText);
}
Conan Wu
aqua_aqua@21cn.com
-----------------------------------------
In Fri, 09 Sep 2005 22:32:12 -0700 £¬Tim Roberts wrote£º
-----------------------------------------
- Posted by Tim Roberts on September 12th, 2005
"Conan Wu" <aqua_aqua@21cn.com> wrote:
Yes, but are you clear that the printer driver runs in a separate process?
If you are running your test app in VS.Net debugger, you will never see
breakpoints within your printer driver.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by Conan Wu on September 12th, 2005
Hi,Tim
Thanks for your warmhearted.
The problem have been solved,The kwy of the problem is return value of DrvGetGlyphMode.
It returns FO_GLYPHBIT or FO_HGLYPHS,the drvTextOut will be called by driver.
But I don't know the difference between return FO_GLYPHBIT and FO_HGLYPHS.An
ybody can tell me?
Conan Wu
aqua_aqua@21cn.com
-----------------------------------------
In Sun, 11 Sep 2005 20:41:01 -0700 £¬Tim Roberts wrote£º
-----------------------------------------