6 #define MAX_NUM_FORMATS 64 //
\97ñ
\8b\93\82·
\82é
\8dÅ
\91å
\82Ì
\83s
\83N
\83Z
\83\8b\83t
\83H
\81[
\83}
\83b
\83g
\90\94
11 //
\8bó
\83e
\83N
\83X
\83`
\83\83\8dì
\90¬
\82Ì
\82½
\82ß
\82Ì
\8f\89\8aú
\90Ý
\92è(1)
\81B
12 //
\82±
\82±
\82Å
\82Í
\83e
\83N
\83X
\83`
\83\83\82Ì
\96¼
\91O
\81A
\83T
\83C
\83Y
\81A
\94z
\92u
\8fê
\8f\8a \82ð
\93à
\95\94\82É
\8bL
\89¯
\82³
\82¹
\82é
\82¾
\82¯
\82Å
\81A
\83f
\83o
\83C
\83X
\8aÖ
\8cW
\82Ì
\8f\88\97\9d\82Í
\88ê
\90Ø
\8ds
\82í
\82È
\82¢
\81B
13 HRESULT InitDeviceObjects( TCHAR* name, DWORD width, DWORD height, bool bSkipBlack=true );
15 //
\8bó
\83e
\83N
\83X
\83`
\83\83\8dì
\90¬
\82Ì
\82½
\82ß
\82Ì
\8f\89\8aú
\90Ý
\92è(2)
\81B
16 //
\82±
\82±
\82Å
\82Í
\83e
\83N
\83X
\83`
\83\83\82Ì
\96¼
\91O
\81A
\83t
\83@
\83C
\83\8b\96¼
\81A
\83T
\83C
\83Y
\81A
\94z
\92u
\8fê
\8f\8a \82ð
\93à
\95\94\82É
\8bL
\89¯
\82³
\82¹
\82é
\82¾
\82¯
\82Å
\81A
\83f
\83o
\83C
\83X
\8aÖ
\8cW
\82Ì
\8f\88\97\9d\82Í
\88ê
\90Ø
\8ds
\82í
\82È
\82¢
\81B
17 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
18 //
\81¦ width == 0 & height == 0
\82Ì
\8fê
\8d\87\82Í
\81A
\83t
\83@
\83C
\83\8b\89æ
\91\9c\82Ì
\83T
\83C
\83Y
\82É
\82È
\82é
\81B
19 HRESULT InitDeviceObjectsFromFile( LPCTSTR name, LPCTSTR filename, DWORD width=0, DWORD height=0, bool bSkipBlack=true );
21 //
\83\81\83\82\83\8a\83t
\83@
\83C
\83\8b\82©
\82ç
\83e
\83N
\83X
\83`
\83\83\82ð
\8dì
\90¬
\82·
\82é
\82½
\82ß
\82Ì
\8f\89\8aú
\90Ý
\92è
\81B
22 //
\82±
\82±
\82Å
\82Í
\83e
\83N
\83X
\83`
\83\83\82Ì
\96¼
\91O
\81A
\83f
\81[
\83^
\81A
\83f
\81[
\83^
\83T
\83C
\83Y
\81A
\83T
\83C
\83Y
\81A
\94z
\92u
\8fê
\8f\8a \82ð
\93à
\95\94\82É
\8bL
\89¯
\82³
\82¹
\82é
\82¾
\82¯
\82Å
\81A
\83f
\83o
\83C
\83X
\8aÖ
\8cW
\82Ì
\8f\88\97\9d\82Í
\88ê
\90Ø
\8ds
\82í
\82È
\82¢
\81B
23 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
24 //
\81¦ width == 0 & height == 0
\82Ì
\8fê
\8d\87\82Í
\81A
\83t
\83@
\83C
\83\8b\89æ
\91\9c\82Ì
\83T
\83C
\83Y
\82É
\82È
\82é
\81B
25 HRESULT InitDeviceObjectsFromFileInMemory( TCHAR* name, BYTE* pData, DWORD dwDataSize, DWORD width=0, DWORD height=0, bool bSkipBlack=true );
27 //
\83\8a\83\
\81[
\83X
\82©
\82ç
\83e
\83N
\83X
\83`
\83\83\82ð
\8dì
\90¬
\82·
\82é
\82½
\82ß
\82Ì
\8f\89\8aú
\90Ý
\92è
\81B
28 //
\82±
\82±
\82Å
\82Í
\83e
\83N
\83X
\83`
\83\83\82Ì
\96¼
\91O
\81A
\83f
\81[
\83^
\81A
\83f
\81[
\83^
\83T
\83C
\83Y
\81A
\83T
\83C
\83Y
\81A
\94z
\92u
\8fê
\8f\8a \82ð
\93à
\95\94\82É
\8bL
\89¯
\82³
\82¹
\82é
\82¾
\82¯
\82Å
\81A
\83f
\83o
\83C
\83X
\8aÖ
\8cW
\82Ì
\8f\88\97\9d\82Í
\88ê
\90Ø
\8ds
\82í
\82È
\82¢
\81B
29 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
30 //
\81¦ width == 0 & height == 0
\82Ì
\8fê
\8d\87\82Í
\81A
\83t
\83@
\83C
\83\8b\89æ
\91\9c\82Ì
\83T
\83C
\83Y
\82É
\82È
\82é
\81B
31 HRESULT InitDeviceObjectsFromResource( TCHAR* name, LPCTSTR lpResourceName, LPCTSTR lpResourceType, DWORD width=0, DWORD height=0, bool bSkipBlack=true );
33 //
\83e
\83N
\83X
\83`
\83\83\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\82Æ
\8d\
\92z
\81B
34 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
35 HRESULT RestoreDeviceObjects();
37 HRESULT InvalidateDeviceObjects(); //
\83e
\83N
\83X
\83`
\83\83\82Ì
\96³
\8cø
\89»
\81B
38 HRESULT DeleteDeviceObjects(); //
\83e
\83N
\83X
\83`
\83\83\82Ì
\94j
\8aü
40 HRESULT SetAlphaConst( int a ); //
\8cÅ
\92è
\83¿
\92l
\82Ì
\93o
\98^(a = 0
\81`255)
41 HRESULT AddBlendEnable( bool f=true ) { this->bUseAddBlend = f; return S_OK; }
42 HRESULT SetColorKey(); //
\8d¶
\8fã
\8b÷
\82Ì
\90F
\82ð
\83J
\83\89\81[
\83L
\81[
\82É
\82·
\82é
\81B
43 HRESULT SetColorKey( DWORD dwColor ); //
\8ew
\92è
\90F
\82ð
\83J
\83\89\81[
\83L
\81[
\82É
\90Ý
\92è
\82·
\82é
\81B
44 void ColorKeyEnable( bool f=true ) { this->bColorKeyEnable = f; } //
\83J
\83\89\81[
\83L
\81[
\82Ì ON/OFF
\81Btrue
\82Å ON
\81B
45 HRESULT GetDC( HDC *phdc ); //
\83f
\83o
\83C
\83X
\83R
\83\93\83e
\83L
\83X
\83g
\82Ì
\8eæ
\93¾
46 HRESULT ReleaseDC( HDC &hdc ); //
\83f
\83o
\83C
\83X
\83R
\83\93\83e
\83L
\83X
\83g
\82Ì
\89ð
\95ú
47 HRESULT SetScale( float w, float h ); //
\83X
\83P
\81[
\83\8b\82Ì
\95Ï
\8dX
48 void GetScale( float* w, float* h ) { *w=this->fScaleW; *h=this->fScaleH; } //
\83X
\83P
\81[
\83\8b\82Ì
\8eæ
\93¾
50 HRESULT Clear( LPRECT prc=NULL ); //
\83T
\81[
\83t
\83F
\83C
\83X
\82Ì
\83N
\83\8a\83A
51 HRESULT Draw( int x, int y, LPRECT pSrc=NULL ); //
\82Q
\82c
\95`
\89æ
\81F
\83o
\83b
\83N
\83o
\83b
\83t
\83@
\82Ö
\82Ì
\8f\91\82«
\8d\9e\82Ý
\82µ
\82©
\83T
\83|
\81[
\83g
\82µ
\82È
\82¢
52 HRESULT Draw3D( int x, int y, LPRECT prcSrc, D3DXMATRIX *pMat ); //
\82R
\82c
\8bó
\8aÔ
\82Ö
\82Ì
\95`
\89æ
\81F
\83o
\83b
\83N
\83o
\83b
\83t
\83@
\82Ö
\82Ì
\8f\91\82«
\8d\9e\82Ý
\82µ
\82©
\83T
\83|
\81[
\83g
\82µ
\82È
\82¢
54 //
\83e
\83N
\83X
\83`
\83\83\82Ö
\82Ì
\95¶
\8e\9a\97ñ
\82Ì
\95`
\89æ(1)
55 HRESULT Text( int x, int y, HFONT hFont, LPCTSTR str, COLORREF color=RGB(255,255,255) );
56 int GetTextWidthDot( HFONT hFont, LPCTSTR str
\95¶
\8e\9a\97ñ );
58 //
\83e
\83N
\83X
\83`
\83\83\82Ö
\82Ì
\95¶
\8e\9a\97ñ
\82Ì
\95`
\89æ(2)
\83A
\83\93\83`
\83G
\83C
\83\8a\83A
\83X
\95t
\82«
59 //
\81¦
\83t
\83H
\83\93\83g
\82Í
\96Ê
\90Ï
\82S
\94{
\82Ì
\91å
\82«
\82³
\82Ì
\82à
\82Ì
\82ð
\8ew
\92è
\82·
\82é
\82±
\82Æ
\81I
60 //
\81¦
\83A
\83\8b\83t
\83@
\82Í
\8fí
\82É255
\82È
\82Ì
\82Å
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81i
\83X
\83L
\83b
\83v
\82³
\82ê
\82é
\8d\95\95\94\95ª
\82Í
\8f\9c\82
\81j
61 HRESULT TextSharp( int x, int y, HFONT hFont, LPCTSTR str, COLORREF color=RGB(255,255,255) );
63 //
\83e
\83N
\83X
\83`
\83\83\83T
\81[
\83t
\83F
\83C
\83X
\83T
\83C
\83Y
\82Ì
\8eæ
\93¾
64 DWORD GetSurfaceSize();
66 static void EnumTextureFormats(); //
\83e
\83N
\83X
\83`
\83\83\83t
\83H
\81[
\83}
\83b
\83g
\83\8a\83X
\83g
\82Ì
\8dì
\90¬
67 static void BeginScene(); //
\95`
\89æ
\8aJ
\8en
68 static void EndScene(); //
\95`
\89æ
\8fI
\97¹
74 LPDIRECTDRAWSURFACE7 pTexture;
80 DWORD dwWidth; //
\83e
\83N
\83X
\83`
\83\83\82Ì
\8eÀ
\83T
\83C
\83Y
82 DWORD dwImageWidth; //
\93Ç
\82Ý
\8d\9e\82Ý
\8c³
\89æ
\91\9c\82Ì
\83T
\83C
\83Y
84 float fScaleW; //
\89¡
\95û
\8cü
\94{
\97¦
85 float fScaleH; //
\8fc
\95û
\8cü
\94{
\97¦
86 tstring strTextureName; //
\83e
\83N
\83X
\83`
\83\83\96¼
\81i
\94C
\88Ó
\81j
87 tstring strFileName; //
\83t
\83@
\83C
\83\8b\96¼
\81i
\83t
\83@
\83C
\83\8b\90¶
\90¬
\82¶
\82á
\82È
\82¢
\82È
\82ç ""
\81j
88 bool bSkipBlack; //
\89æ
\91\9c\8d\
\92z
\8e\9e(RestoreDevice
\81`)
\82É
\81A
\89æ
\91\9c\82Ì
\8d\95(0)
\82ð
\83X
\83L
\83b
\83v
\82·
\82é
\82©(BMP,JPEG
\82Ì
\82Ý
\97L
\8cø)
89 LPCTSTR lpResourceName; //
\83\8a\83\
\81[
\83X
\96¼
\81i
\83\8a\83\
\81[
\83X
\90¶
\90¬
\82¶
\82á
\82È
\82¢
\82È
\82ç NULL
\81j
90 LPCTSTR lpResourceType; //
\83\8a\83\
\81[
\83X
\83^
\83C
\83v
\81i
\83\8a\83\
\81[
\83X
\90¶
\90¬
\82¶
\82á
\82È
\82¢
\82È
\82ç NULL
\81j
91 BYTE* pData; //
\83f
\81[
\83^
\82Ö
\82Ì
\83|
\83C
\83\93\83^
\81i
\83\81\83\82\83\8a\82©
\82ç
\82Ì
\90¶
\90¬
\82¶
\82á
\82È
\82¢
\82È
\82çNULL
\81j
92 DWORD dwDataSize; //
\83f
\81[
\83^
\83T
\83C
\83Y
\81i
\83\81\83\82\83\8a\82©
\82ç
\82Ì
\90¶
\90¬
\82¶
\82á
\82È
\82¢
\82È
\82ç0
\81j
94 static DDPIXELFORMAT ddpfARGB8888; // A8R8G8B8 (32-bit)
\83t
\83H
\81[
\83}
\83b
\83g
\81BdwSize = 0
\82È
\82ç
\8eg
\82¦
\82È
\82¢
\81B
95 static DDPIXELFORMAT ddpfARGB4444; // A4R4G4B4 (16-bit)
\83t
\83H
\81[
\83}
\83b
\83g
\81BdwSize = 0
\82È
\82ç
\8eg
\82¦
\82È
\82¢
\81B
98 //
\8bó
\82Ì
\83e
\83N
\83X
\83`
\83\83\82Ì
\8dì
\90¬
101 //
\83\8c\83\93\83_
\83\8a\83\93\83O
\83X
\83e
\81[
\83^
\83X
\82Ì
\90Ý
\92è
102 void SetRenderStates();
104 // RGB-32bit
\82Ì BITMAP
\82©
\82ç
\83e
\83N
\83X
\83`
\83\83\82Ö
\83R
\83s
\81[
\82·
\82é
\81B
105 //
\83e
\83N
\83X
\83`
\83\83\82Ì
\83A
\83\8b\83t
\83@
\82Í 0xFF
\82Æ
\82È
\82é
\81B
106 //
\81@bSkipBlack ... true
\82È
\82ç
\8d\95\90F
\82Í
\95`
\89æ
\82¹
\82¸
\83X
\83L
\83b
\83v
\82·
\82é
\81B
107 void CopyFromBMP32( int x, int y, BITMAP* bmp, bool bSkipBlack=true );
109 // RGB-32bit
\82Ì
\82S
\94{
\96Ê
\90Ï BITMAP
\82©
\82ç
\83e
\83N
\83X
\83`
\83\83\82Ö
\8fk
\8f¬
\83R
\83s
\81[
\82·
\82é
\81B
110 //
\8fk
\8f¬
\82Í
\81A2x2
\82Ì
\82S
\83h
\83b
\83g
\81¨
\82P
\83h
\83b
\83g
\95Ï
\8a·
\82Å
\8ds
\82í
\82ê
\82é
\81B
111 //
\82»
\82ñ
\82½
\82ß
\81A
\83e
\83N
\83X
\83`
\83\83\82Ì
\83A
\83\8b\83t
\83@
\82Í 0%, 25%, 50%, 75%, 100%
\82Ì
\82T
\8eí
\97Þ
\82Æ
\82È
\82é
\81B
112 //
\81@bSkipBlack ... true
\82È
\82ç
\8d\95\90F
\82Í
\95`
\89æ
\82¹
\82¸
\83X
\83L
\83b
\83v
\82·
\82é
\81B
113 void CopyFromBMP32x4( int x, int y, BITMAP* bmp, bool bSkipBlack=true );
115 //
\83e
\83N
\83X
\83`
\83\83\82Ì
\96¼
\91O
\81A
\83t
\83@
\83C
\83\8b\96¼
\81A
\83T
\83C
\83Y
\81A
\94z
\92u
\8fê
\8f\8a\82ð
\93à
\95\94\82É
\8bL
\89¯
\82·
\82é
\81B
116 //
\82»
\82Ì
\91¼
\82Ì
\83p
\83\89\83\81\81[
\83^
\82Í
\83f
\83t
\83H
\83\8b\83g
\92l
\82É
\8f\89\8aú
\89»
\82·
\82é
\81B
117 void InitParameters( LPCTSTR name, LPCTSTR fname, LPCTSTR lpResourceName, LPCTSTR lpResourceType, BYTE* pData, DWORD dwDataSize, DWORD width, DWORD height, bool bSkipBlack );
119 //
\83t
\83@
\83C
\83\8b\82©
\82ç
\82Ì
\83e
\83N
\83X
\83`
\83\83\82Ì
\8d\
\92z
\81B
120 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
121 HRESULT RestoreDeviceObjectsFromFile();
123 //
\83\81\83\82\83\8a\83C
\83\81\81[
\83W
\82©
\82ç
\82Ì
\83e
\83N
\83X
\83`
\83\83\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\82Æ
\8d\
\92z
124 //
\81¦ PNG
\82Ì
\82Ý
\91Î
\89\9e
125 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
126 HRESULT RestoreDeviceObjectsFromFileInMemory();
128 //
\83\8a\83\
\81[
\83X
\82©
\82ç
\82Ì
\83e
\83N
\83X
\83`
\83\83\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\82Æ
\8d\
\92z
129 //
\81¦ PNG
\82Ì
\82Ý
\91Î
\89\9e
130 //
\81¦ width, height
\82Å
\8ew
\92è
\82µ
\82½
\83T
\83C
\83Y
\82É
\89æ
\91\9c\82ª
\8ag
\91å
\81^
\8fk
\8f¬
\82³
\82ê
\82Ä
\93Ç
\82Ý
\8d\9e\82Ü
\82ê
\82é
\81B
131 HRESULT RestoreDeviceObjectsFromResource();
133 // DDS
\82©
\82ç
\83e
\83N
\83X
\83`
\83\83\82ð
\8d\
\92z
\82·
\82é
\81B
134 HRESULT RestoreFromDDS( DDSURFACEDESC2* pddsd, BYTE** ppimage );
136 DWORD BitCount( DWORD dwNum ); // dwNum
\82Ì
\83r
\83b
\83g'1'
\82Ì
\90\94\82ð
\90\94\82¦
\82é
\81B
137 DWORD ShiftCount( DWORD dwNum ); // dwNum
\82ÌLSB
\82©
\82ç0
\82Ì
\91±
\82
\8cÂ
\90\94\82ð
\95Ô
\82·
\81B
\81i
\97á
\81F0x0020
\81¨ 5
\81j
139 void LostCheck(); //
\83T
\81[
\83t
\83F
\83C
\83X
\82ª
\83\8d\83X
\83g
\82µ
\82Ä
\82¢
\82é
\8fê
\8d\87\82Í RestoreDeviceObjest()
\82ð
\8cÄ
\82Ñ
\8fo
\82·
\81B
145 using namespace FDK::Graphics;