1 #ifndef __DRAW_ITEM_21D18040_C396_4CA5_BFCE_5616A63F2C56_H__
2 #define __DRAW_ITEM_21D18040_C396_4CA5_BFCE_5616A63F2C56_H__
7 #include <boost/shared_ptr.hpp>
10 class OverlayPaintMachine
;
11 typedef ::boost::shared_ptr
<OverlayPaintMachine
> SharedPtrOverlayPaintMachine
;
13 class CClipperPaintMachine
;
14 typedef ::boost::shared_ptr
<CClipperPaintMachine
> SharedPtrCClipperPaintMachine
;
16 class DrawItemHashKey
;
17 typedef ::boost::shared_ptr
<DrawItemHashKey
> SharedPtrDrawItemHashKey
;
22 SharedPtrOverlayPaintMachine overlay_paint_machine
;
24 SharedPtrCClipperPaintMachine clipper
;
31 SharedPtrDrawItemHashKey m_key
;
33 CRectCoor2
GetDirtyRect();
34 static CRectCoor2
Draw( XyBitmap
*bitmap
, DrawItem
& draw_item
, const CRectCoor2
& clip_rect
);
35 const SharedPtrDrawItemHashKey
& GetHashKey();
37 static DrawItem
* CreateDrawItem(const SharedPtrOverlayPaintMachine
& overlay_paint_machine
,
38 const CRect
& clipRect
,
39 const SharedPtrCClipperPaintMachine
&clipper
,
41 const DWORD
* switchpts
, bool fBody
, bool fBorder
);
44 typedef ::boost::shared_ptr
<DrawItem
> SharedPtrDrawItem
;
46 typedef CAtlList
<DrawItem
> DrawItemList
;
48 typedef CAtlList
<DrawItemList
> DrawItemListList
;
51 struct CompositeDrawItem
;
52 typedef CAtlList
<CompositeDrawItem
> CompositeDrawItemList
;
53 typedef CAtlList
<CompositeDrawItemList
> CompositeDrawItemListList
;
55 struct CompositeDrawItem
58 SharedPtrDrawItem shadow
;
59 SharedPtrDrawItem outline
;
60 SharedPtrDrawItem body
;
62 static CRectCoor2
GetDirtyRect( CompositeDrawItem
& item
);
64 static void Draw(XySubRenderFrame
**output
, CompositeDrawItemListList
& compDrawItemListList
);
67 struct GroupedDrawItems
70 CAtlList
<SharedPtrDrawItem
> draw_item_list
;
73 void Draw(SharedPtrXyBitmap
*bitmap
, int *bitmap_identity_num
);
75 void CreateHashKey(GroupedDrawItemsHashKey
*key
);
78 #endif // __DRAW_ITEM_21D18040_C396_4CA5_BFCE_5616A63F2C56_H__