reactos/win32ss/gdi/ntgdi/pen.h
Katayama Hirofumi MZ 6358c4ac9f
[NTGDI] Support the wide pen (#4137)
- Extend PATH_WidenPath function as PATH_WidenPathEx with the path argument.
- Use PATH_WidenPathEx and PATH_FillPathEx functions to implement wide pen drawing in PATH_StrokePath function.
- Add the code to IntGdiLineTo, IntRectangle, IntGdiPolygon, and IntGdiPolyline in order to stroke the path when the effective wide pen.
FIXME: Boundary rectangle.
CORE-2527, CORE-8366
2021-12-06 20:44:06 +09:00

38 lines
679 B
C

#pragma once
/* Internal interface */
typedef BRUSH PEN, *PPEN;
PPEN
NTAPI
PEN_AllocPenWithHandle(
VOID);
PPEN
NTAPI
PEN_AllocExtPenWithHandle(
VOID);
#define PEN_UnlockPen(pPenObj) GDIOBJ_vUnlockObject((POBJ)pPenObj)
#define PEN_ShareUnlockPen(ppen) GDIOBJ_vDereferenceObject((POBJ)ppen)
PPEN
FASTCALL
PEN_ShareLockPen(HPEN hpen);
INT
NTAPI
PEN_GetObject(
_In_ PPEN pPen,
_In_ INT Count,
_Out_ PLOGPEN Buffer);
VOID FASTCALL AddPenLinesBounds(PDC,int,POINT *);
#define IntIsEffectiveWidePen(pbrLine) ( \
(pbrLine)->lWidth > 1 && \
((pbrLine->flAttrs & BR_IS_OLDSTYLEPEN) || \
((pbrLine)->ulPenStyle & PS_TYPE_MASK) == PS_GEOMETRIC) \
)