1 #pragma once 2 3 /* Internal interface */ 4 5 typedef BRUSH PEN, *PPEN; 6 7 PPEN 8 NTAPI 9 PEN_AllocPenWithHandle( 10 VOID); 11 12 PPEN 13 NTAPI 14 PEN_AllocExtPenWithHandle( 15 VOID); 16 17 #define PEN_UnlockPen(pPenObj) GDIOBJ_vUnlockObject((POBJ)pPenObj) 18 #define PEN_ShareUnlockPen(ppen) GDIOBJ_vDereferenceObject((POBJ)ppen) 19 20 PPEN 21 FASTCALL 22 PEN_ShareLockPen(HPEN hpen); 23 24 INT 25 NTAPI 26 PEN_GetObject( 27 _In_ PPEN pPen, 28 _In_ INT Count, 29 _Out_ PLOGPEN Buffer); 30 31 VOID FASTCALL AddPenLinesBounds(PDC,int,POINT *); 32 33 #define IntIsEffectiveWidePen(pbrLine) ( \ 34 (pbrLine)->lWidth > 1 && \ 35 ((pbrLine->flAttrs & BR_IS_OLDSTYLEPEN) || \ 36 ((pbrLine)->ulPenStyle & PS_TYPE_MASK) == PS_GEOMETRIC) \ 37 ) 38