9 CopytoUserDcAttr(PDC dc
, PDC_ATTR Dc_Attr
, FLONG Dirty
)
11 Dc_Attr
->hpen
= dc
->Dc_Attr
.hpen
;
12 Dc_Attr
->hbrush
= dc
->Dc_Attr
.hbrush
;
13 Dc_Attr
->hColorSpace
= dc
->Dc_Attr
.hColorSpace
;
14 Dc_Attr
->hlfntNew
= dc
->Dc_Attr
.hlfntNew
;
16 Dc_Attr
->jROP2
= dc
->Dc_Attr
.jROP2
;
17 Dc_Attr
->jFillMode
= dc
->Dc_Attr
.jFillMode
;
18 Dc_Attr
->jStretchBltMode
= dc
->Dc_Attr
.jStretchBltMode
;
19 Dc_Attr
->lRelAbs
= dc
->Dc_Attr
.lRelAbs
;
20 Dc_Attr
->jBkMode
= dc
->Dc_Attr
.jBkMode
;
22 Dc_Attr
->crBackgroundClr
= dc
->Dc_Attr
.crBackgroundClr
;
23 Dc_Attr
->ulBackgroundClr
= dc
->Dc_Attr
.ulBackgroundClr
;
24 Dc_Attr
->crForegroundClr
= dc
->Dc_Attr
.crForegroundClr
;
25 Dc_Attr
->ulForegroundClr
= dc
->Dc_Attr
.ulForegroundClr
;
27 Dc_Attr
->ulBrushClr
= dc
->Dc_Attr
.ulBrushClr
;
28 Dc_Attr
->crBrushClr
= dc
->Dc_Attr
.crBrushClr
;
30 Dc_Attr
->ulPenClr
= dc
->Dc_Attr
.ulPenClr
;
31 Dc_Attr
->crPenClr
= dc
->Dc_Attr
.crPenClr
;
33 Dc_Attr
->ptlBrushOrigin
= dc
->Dc_Attr
.ptlBrushOrigin
;
35 Dc_Attr
->lTextAlign
= dc
->Dc_Attr
.lTextAlign
;
36 Dc_Attr
->lTextExtra
= dc
->Dc_Attr
.lTextExtra
;
37 Dc_Attr
->cBreak
= dc
->Dc_Attr
.cBreak
;
38 Dc_Attr
->lBreakExtra
= dc
->Dc_Attr
.lBreakExtra
;
39 Dc_Attr
->iMapMode
= dc
->Dc_Attr
.iMapMode
;
40 Dc_Attr
->iGraphicsMode
= dc
->Dc_Attr
.iGraphicsMode
;
42 Dc_Attr
->ptlCurrent
= dc
->Dc_Attr
.ptlCurrent
;
43 Dc_Attr
->ptlWindowOrg
= dc
->Dc_Attr
.ptlWindowOrg
;
44 Dc_Attr
->szlWindowExt
= dc
->Dc_Attr
.szlWindowExt
;
45 Dc_Attr
->ptlViewportOrg
= dc
->Dc_Attr
.ptlViewportOrg
;
46 Dc_Attr
->szlViewportExt
= dc
->Dc_Attr
.szlViewportExt
;
48 Dc_Attr
->ulDirty_
= dc
->Dc_Attr
.ulDirty_
; //Copy flags! We may have set them.
50 XForm2MatrixS( &Dc_Attr
->mxWorldToDevice
, &dc
->w
.xformWorld2Vport
);
51 XForm2MatrixS( &Dc_Attr
->mxDevicetoWorld
, &dc
->w
.xformVport2World
);
52 XForm2MatrixS( &Dc_Attr
->mxWorldToPage
, &dc
->w
.xformWorld2Wnd
);
58 DCU_SyncDcAttrtoUser(PDC dc
, FLONG Dirty
)
60 PDC_ATTR Dc_Attr
= dc
->pDc_Attr
;
61 if (!Dirty
) return FALSE
;
63 if (Dc_Attr
== ((PDC_ATTR
)&dc
->Dc_Attr
)) return TRUE
; // No need to copy self.
65 if (!Dc_Attr
) return FALSE
;
67 CopytoUserDcAttr( dc
, Dc_Attr
, Dirty
);
73 DCU_SynchDcAttrtoUser(HDC hDC
, FLONG Dirty
)
75 PDC pDC
= DC_LockDc ( hDC
);
76 if (!pDC
) return FALSE
;
77 BOOL Ret
= DCU_SyncDcAttrtoUser(pDC
, Dirty
);