OSDN Git Service

CLSIDの変更
[seraphyscrtools/SeraphyScriptTools.git] / Draw.h
1 // Draw.h : CCanvas \82Ì\90é\8c¾
2
3 #pragma once
4
5 #include "resource.h"       // \83\81\83C\83\93 \83V\83\93\83{\83\8b
6 #include "layer.h"
7
8 /////////////////////////////////////////////////////////////////////////////
9 // CCanvas
10
11 #define MAXLAYER 256
12
13 class ATL_NO_VTABLE CCanvas :
14         public CComObjectRootEx<CComSingleThreadModel>,
15         public CComCoClass<CCanvas, &CLSID_Canvas>,
16         public ISupportErrorInfoImpl<&IID_ICanvas>,
17         public IConnectionPointContainerImpl<CCanvas>,
18         public IDispatchImpl<ICanvas, &IID_ICanvas, &LIBID_SERAPHYSCRIPTTOOLSLib>
19 {
20 public:
21         HRESULT FinalConstruct();
22
23         void CCanvas::FinalRelease();
24
25         DECLARE_REGISTRY_RESOURCEID(IDR_CANVAS)
26
27         DECLARE_PROTECT_FINAL_CONSTRUCT()
28
29         BEGIN_COM_MAP(CCanvas)
30                 COM_INTERFACE_ENTRY(ICanvas)
31                 COM_INTERFACE_ENTRY(IDispatch)
32                 COM_INTERFACE_ENTRY(ISupportErrorInfo)
33                 COM_INTERFACE_ENTRY(IConnectionPointContainer)
34         END_COM_MAP()
35         BEGIN_CONNECTION_POINT_MAP(CCanvas)
36         END_CONNECTION_POINT_MAP()
37
38
39         // ICanvas
40 public:
41         STDMETHOD(LoadPicture)(/*[in]*/VARIANT path,/*[out,retval]*/VARIANT* punkVal);
42         void AttachOwner(HWND hParent);
43         void DetachOwner();
44         void Draw(HDC hdc, RECT& rt);
45         STDMETHOD(get_Layer)(/*[in]*/VARIANT varLay, /*[out, retval]*/ VARIANT *pVal);
46         STDMETHOD(Print)();
47         STDMETHOD(GetPrinterDefault)(/*[in,optional]*/VARIANT name);
48         STDMETHOD(get_MarginHeight)(/*[out, retval]*/ long *pVal);
49         STDMETHOD(put_MarginHeight)(/*[in]*/ long newVal);
50         STDMETHOD(get_MarginWidth)(/*[out, retval]*/ long *pVal);
51         STDMETHOD(put_MarginWidth)(/*[in]*/ long newVal);
52         STDMETHOD(PrintAs)(/*[in,optional]*/VARIANT print,/*[oute,retval]*/VARIANT* pRet);
53 protected:
54         CComObject<CLayer>* m_pComLayer[MAXLAYER];
55         TCHAR m_szPrinterName[MAX_PATH];
56         DEVMODE* m_pPrinterDeviceMode;
57         long m_marginHeight;
58         long m_marginWidth;
59         BOOL PrintCore(CDC dc);
60         HWND m_hParent;
61 };