mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 04:11:30 +00:00
6358c4ac9f
- 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
38 lines
679 B
C
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) \
|
|
)
|