--------------------------------------------------------
    D-Pixed 2.1xt@CtH[}bg}jA

    1998.10.14 DOIchan!

    1996-2000 Copyright D-EXCLAMATION
    http://www.bigfoot.com/~doichan/
    doichan@bigfoot.com
---------------------------------------------------------

PD ͂߂

̃}jAD-PixedŎgt@C`ɂĂ̌ȎdlłDt@CtH[}bgсCASYɂĉ܂DAhCɊւD-Pixed AhCc[SDK}jAQƂĂD


QD gpȂ

̎dlɊÂD-PixedŎgpĂt@C`C(DPX,DPF,DGR)𑼂̃AvP[VŎRɗp邱Ƃł܂DCŝ̃\tgEFAɎgpꍇ̂݁CmF̃[doichan@bigfoot.comɑĂDȊȌꍇ́CRɎgp邱Ƃł܂D
܂CD-PixedŐǂ݂߂͈͓ł΁CRɃtH[}bggĂ\܂D


RD̃}jAɂ

̎dlł́CC/C++WindowsAPI𗘗p邱ƂOɏĂ܂Dt@C\ȂǁC\̂C̋Lqōs܂D
}jAɏoĂ\̂̒`Ȃǂ͂̂܂܎RɃ\[XR[hɗpĂ\܂D
ꉞCWindowsAPIł̌^`ɂĐGĂ܂D
DWORD: Ȃ4oCg
WORD:  Ȃ2oCg
BYTE:  Ȃ1oCg
LONG:  t4oCg
oCgI[_[̓CeI[_[iԂt]jłD

ȂCC/C++Ɋւ邱ƁCWindowsAPIɊւ邱ƁCł̂Ɋւ鎿͈؎󂯕t܂D̑Csȓ_Ȃǂ́Cdoichan@bigfoot.com܂Ŗ₢킹ĂD


SDD-PixedWC[Wt@C(DPX`)dl

D-PixedW̃t@C`łD
D-Pixedō쐬CC}XNCȂǂ̃f[^ێ܂D

(1)t@C\
DPX`ł́C̃CԂɊi[Ă܂DC1̂ƂłC1̉摜CƂĈ܂D
t@C\͎̂悤ɂȂĂ܂D
[t@Cwb_]
[J[e[uipbgj]
  -------------------------------
    [Cwb_]
      [J[}XNf[^(IvV)]
      [J[e[u(IvV)]
    [CC[Wf[^]          C1
    [C}XNC[Wf[^]
  -------------------------------
     ....
     .... Cf[^
[ǉf[^tB[h]

(2)t@Cwb_
̍\̂̂܂ܓ܂D

typedef struct {
	char fileDescription[128];
	DWORD version;
	DWORD dwFlag;
	DWORD width;
	DWORD height;
	DWORD nBitmap;
	DWORD reserved1;
	DWORD reserved2;
	DWORD reserved3;
}DPIXED_FILEHEADER;

EfileDescription
D-Pixed̃t@CRs[Cg܂D
ŏ3͕KuDPXvłD͎Rɐݒł܂D

Eversion
o[Wԍ܂D
̂Ƃ16iD-Pixed̃o[WƓ̂܂D
iver.2.11̏ꍇ́C0x00002110j

EdwFlag
t@C񂪓܂D
̑gݍ킹łD

#define DPF_FILE_HASGLOBALCOLORTABLE 	0x00000001	//J[e[u
#define DPF_FILE_HASGRID 				0x00000010	//Obhf[^
#define DPF_FILE_HASFRAME 				0x00000020	//R}gf[^
#define DPF_FILE_HASSHAPE 				0x00000040	//ӂf[^

D-PixedŕۑꂽꍇCDPF_FILE_HASGLOBALCOLORTABLE͂˂ɃZbg܂DꂪZbgĂꍇCt@Cwb_Ƀpbg܂D
c3́Cǉf[^tB[hɃf[^邱Ƃ܂D̂̃tOgĎRɃf[^ǉĂ\܂D

Ewidth,height
摜̃TCYw肵܂D

EnBitmap
C̐w肵܂D

Ereserved
̂߂̗\łD0܂D

(3)J[e[u
256F̃pbg񂪓܂DRGBQUAD\̂̔zɂȂ܂D
ȂCRGBQUAD\̂́CC΁CԁCpbhoCg4oCgȂ\̂łD
܂CJ[e[ũTCY͏ɁC256*4oCgɂȂ܂D

(4)Cwb_
Ci[܂Dwb_ɑăCC[W܂DKvȃCJԂ܂D̍\̂gp܂D

typedef struct {
	DWORD dwSize;
	DWORD dwFlag;
	DWORD keyColor;
	DWORD alpha;
	DWORD maskBit;
	DWORD bgColor;
	DWORD imageSize;
	DWORD reserved;
	char description[64];
	//ȉ2.10Œǉ
	LONG left;
	LONG top;
	LONG right;
	LONG bottom;
	LONG delay;
	LONG animeMode;
	LONG animeInput;
	LONG animeTransparent;
	//ȉ2.11Œǉ
	//DPF_IMAGE_COLORMASK̂Ƃ256oCg̃f[^
}DPIXED_FILEIMAGEHEADER;


EdwSize
Cwb_̃TCY܂D
̍\̂ver.2.10ŃTCYς܂D2.10ȑÕt@CCύXɂȂꍇ̂ŁCK̃TCY`FbNăTCYǂ݂ނǂݔ΂܂D

EdwFlag
C񂪓܂D̒l̑gݍ킹łD

#define DPF_IMAGE_HASMASK 				0x00000001		//(W)
//}XNC[WCC[Wɑ܂D
#define DPF_IMAGE_HASLOCALCOLORTABLE	0x00000002
//Cp̃pbgCwb_ɑ܂D
#define DPF_IMAGE_MASKCOMPRESSED 		0x00000010		//(W)
//}XN摜kĂ܂D
#define DPF_IMAGE_IMAGECOMPRESSED 		0x00000020		//(W)
//C[Wf[^kĂ܂D
#define DPF_IMAGE_ENABLE 				0x00010000
//C͕\܂D
#define DPF_IMAGE_USEALPHAPLANE 		0x00020000
//}XNʂďdˍ킹܂D
#define DPF_IMAGE_COLORMASK 			0x00100000		//2.11
//J[}XNf[^Cwb_ɑ܂D

D-PixedŕۑƂDPF_IMAGE_HASMASK,DPF_IMAGE_MASKCOMPRESSED,DPF_IMAGE_IMAGECOMPRESSED͕WŃZbg܂D܂C2.11ȍ~ŕۑꍇCDPF_IMAGE_COLORMASKWłD

EkeyColor
FłD

Ealpha
dˍ킹ZxłD0̂Ƃ0%C16̂Ƃ100%łD

EmaskBit
}XNf[^kĂƂ˂ɂPłD
ȊÔƂ́C}XN摜̃sNZ̃rbg܂D
1,4,܂8wł܂D

EbgColor
wiFłD

EimageSize
C[Wf[^̕ۑĂTCYłD

Ereserved
̂߂̗\łD0܂D

Edescription
C̖O܂D

Eleft/top/right/bottom
Aj[V͈͂̐ݒlłD

Edelay
Aj[V̑҂ԂłD

EanimeMode
Aj[V̔wi[hłD

EanimeInput
Aj[Ṽ[U͂Lɂ邩ǂłD

EanimeTransparent
Aj[Vɓ߂邩ǂw肵܂D

(5)J[}XN
Cwb_dwFlagDPF_IMAGE_COLORMASKZbgĂƂCCwb_ɃJ[}XNf[^܂D
J[}XNf[^256*1oCg̃f[^ŁC0̂ƂJ[}XNOFFC1̂ƂJ[}XNOÑf[^256FĂ܂D

(6)CJ[e[u
Cwb_dwFlagDPF_IMAGE_HASLOCALCOLORTABLEZbgĂƂC̈ʒuɃJ[e[u܂Dʏ̃J[e[uƓtH[}bgłD
C܂̂ƂD-Pixedł̓pbg1Ȃ̂ŁC̃IvV͖܂D

(7)C[Wf[^
C[Wf[^܂D
Cwb_dwFlagDPF_IMAGE_IMAGECOMPRESSEDZbgĂȂꍇ́Crbg}bv`̃C[Wf[^̂̂i[܂DZbgĂƂ̓rbg}bvf[^kĂ܂D
D-Pixedł8rbgi256Fj̃rbg}bv`Ńf[^Ă܂DC[Wf[^͂̃rbg}bvf[^̂̂OXkgĈkĂ܂Dirbg}bv`ɂ̓CI4oCgEɂ낦pbhoCgꍇ܂Ĉ̕܂܂̏Ԃňk܂Dj
ł́CD-Pixedł̃C[Wf[^̈k@ɂĐ܂D
D-Pixedł̓OX@pĈkĂ܂D

܂CWJ@ɂĐ܂D
t@C1oCgÂǂ݂݂܂D̂ƂCǂ݂񂾃f[^Õf[^ƓƂC1oCgɃR[hĂ܂DR[h͉oCgf[^A邩\Ȃ1oCgłD̕Crbg}bvf[^𖄂߂܂D

)

00 01 01 5
WJ
00 01 01 01 01 01

02 02 2
WJ
02 02

Ɉk@łD
t@C1oCgÂo܂C1OɏôƓf[^ACoĂCɉoCgf[^𒲂ׂāCŏ̃f[^oẴoCg݂܂D̃f[^1oCgȂȂ̂ŁCő255łD255ȏ̒̏ꍇ́C255o͂ĂCʏ̏ɖ߂܂D

)

01 01 01 01
k
01 01 4

02 02 ...ȉS300oCgA
k
02 02 ff 02 02 2d


(8)}XNf[^
}XNf[^܂D
Cwb_dwFlagDPF_IMAGE_MASKCOMPRESSEDZbgĂȂꍇ́CmaskBit̎BPPŃrbg}bv`̃C[Wf[^̂̂i[܂DZbgĂƂ̓rbg}bvf[^kĂ܂D
D-Pixedł1sNZ1rbg̃mN摜Ƃă}XNۑ܂Drbg}bv`̃f[^ɓȃOX@KpĂ܂DD-Pixedł4sNZƂɌ܂p^[o\߁COXk4rbgPʂōs܂DȂCrbg}bvf[^̂܂܈k̂ŁCf[^͕K4oCgEɂĂ邽߁CXLC̏I[ɓȏKv܂D

WJ@
t@C4rbgi4sNZjf[^o܂D̂ƂCOɎof[^Ɠꍇɂ́C8rbg̃f[^o܂D̃f[^R[hɂȂĂ܂D4sNZ̃f[^oCgA邩܂D̕Crbg}bvf[^ɕۑ܂D

)
00 11 6
WJ
00 11 11 11

22 2
WJ
22

13 3 4
WJ
13 33 3


k@
4rbg̃f[^݂܂D̂ƂCOɏ񂾃f[^Ɠp^[ꍇC̃p^[JԂ邩𒲂ׂāC8rbgȂƂď݂܂D255ȏ̂Ƃ́C255łȏ͍̕ŏ̏ɖ߂ď܂DŌɃf[^ȂȂƂ4rbg1oCgEɂȂꍇ͎c0Ŗ߂܂D

)
11 11 11
k
11 6

22
k
22 2

01 11 11 11
k
01 1 7

00 ....ȉ300p^[A
00 ff 00 2d


(9)ǉf[^tB[h
D-PixedŊgꂽ@\̂߂̃f[^⑼̃AvP[VŎgƂ̃[Uf[^i[܂D
ǉf[^ɂ͎RȌ`̃f[^ۑł܂Dǉf[^̐擪ɂ͒ǉf[^̃wb_t܂D2̃f[^\܂D

[ǉf[^ʕ(4oCg)]
[ǉf[^̃oCg(4oCgȂ)]

ǉf[^ʕɂāCf[^̎ނ܂Dɂ́C4̃eLXggp܂D
D-Pixedł͎3\񂳂Ă܂DŃf[^`Ƃ͂ȊOgĂDC̃f[^D-Pixedł͖܂D
uGRIDvuFRAMvuSHAPv
oCǵCǉf[^̃wb_̃TCYi8oCgj܂܂ȂCf[^݂̂̃TCY32bitȂŎw肵܂Df[^łĂ0ĂD
ȂCǉf[^tB[h̍Ōɂ́Ct@C̍Ōǉf[^܂D͎̂悤ȃwb_݂̂܂D
ʕ[EOF ](Ō̓̕Xy[Xł)
f[^TCY[0]


TDD-Pixedpbgt@C(DPF`)dl

pbgۑt@CłD
̍\܂D
[t@Cwb_]
[J[e[u]

(1)t@Cwb_
pbgt@C̏łDȉ̍\̂łD

typedef struct {
	char fileDescription[128];
	DWORD version;
	DWORD dwFlag;
	DWORD size;
	DWORD reserved;
}DPIXED_FILEPALETTEHEADER;

EfileDescription
t@C̕񂪓܂D
擪2͕KCuPFvłD

Eversion
0x00000100Ă܂D

EdwFlag
܂̂ƂgĂ܂D

Esize
J[e[ũpbg̐łDD-Pixedł256łD

Ereserved
\łD0ĂD

(2)J[e[u
RGBQUAD\̂ŕKvȐFf[^܂D


UDD-PixedObht@C(DGR`)

D-PixedŐݒ肵Obhf[^̕ۑ`łD̍\܂D
[t@Cwb_]
[Obhf[^]


(1)t@Cwb_
Obhf[^̏񂪓܂Dȉ̃f[^܂D

typedef struct __DGR_HEADER_ {
	char m_Comment[128];
	DWORD m_Width;
	DWORD m_Height;
	DWORD m_XGrid;
	DWORD m_YGrid;
	DWORD m_Flags;
	DWORD m_Reserved;
}DPGRID_HEADER;

Em_Comment
RgRɐݒł܂DC擪3DGRłD

Em_Width,m_Height
摜̃TCYw肵܂D摜ŒTCYłĂKݒ肵ĂD

Em_Xgrid,m_YGrid
X,Yꂼ̃Obh̖{܂D

Em_Flags
ǉf[^ȂǁCAvP[VŎgtOf[^łD܂̂ƂOĂD

Em_Reserved
̊gpłDOĂD

(2)Obhf[^
Obh̍Wlf[^܂DeWl͕Ȃ2oCg̐f[^ŃObh̖{pӂ܂D̃f[^XCY̏ԂœĂ܂DȂׂCWl̏Ƀ\[gĂۑ悤ɂĂD



