<HTML>
<HEAD>
<TITLE>MGL API(2/2) </TITLE>
</HEAD>
<BODY BGCOLOR="#F0FFF0">

<H1>MGL API $B$N>R2p(B $B$=$N(B2</H1>

<H2>screen</H2>
<P> mgl $B$G$O(B 3 $B<oN`$N(B $B2hLL(B(screen) $B$r%5%]!<%H$7$F$$$^$9!#(B

<PRE>
	  $BJ*M}2hLL(B
          $B%*%U%9%/%j!<%s(B
          $BItJ,%9%/%j!<%s(B
</PRE>

$B@8@.J}K!$,0[$J$k$@$1$G$G$-$k$3$H$OF1$8$G$9!#(B

<H3>$BJ*M}2hLL(B</H3>

<BLOCKQUOTE>
<TABLE BORDER=1><TR><TD>
<PRE>

struct screen *physigal_screen;

int SCREEN_WIDTH;
int SCREEN_HEIGHT;

</PRE>
</TD></TR></TABLE>
</BLOCKQUOTE>

<P>$B=i4|2=;~$K@8@.$5$l$F$$$^$9!#(B
$B$3$l$K$@$1!"Bg$-$5$rI=$9%7%s%\%k$,Dj5A$5$l$F$$$^$9!#(B<BR>

$B%9%/%j!<%s$N%?%$%W$O!"(BSTK_NATIVE ($B8e=R(B)

<H3>$B%*%U%9%/%j!<%s(B</H3>

<BLOCKQUOTE>
<TABLE BORDER=1><TR><TD>
<PRE>

struct screen *screate_memscreen(int xsize,int ysize, char *bitmap
					,int kind,int op)

</PRE>
</TD></TR></TABLE>
</BLOCKQUOTE>

<P>$B$3$l$G%*%U%9%/%j!<%s$r@8@.$7$^$9!#(Bkind $B$K$O!"(B

<PRE>
		STK_NATIVE			$BJ*M}2hLL$HF1$8%U%)!<%^%C%H(B
		STK_GENERIC_4COLOR		2bpp
		STK_GENERIC_192COLOR		8bpp
		STK_GENERIC_FULLCOLOR		16bpp
</PRE>

$B$N$$$:$l$+$r;XDj$7$^$9!#0c$&<oN`$N4V$G$b(B bitblt $B$G$-$^$9$,!"(B
$BF1<o4V$,:G$bAa$$$G$9!#(B
<P>
$B$?$H$($P!"(BSTK_NATIVE $B$G@8@.$9$k$H!"J*M}2hLL(B $B4V$N(B bitblt $B$,9bB.2=(B
$B$5$l$^$9!#(B
<P>
$B$^$?!"(BSTK_GENERIC_FULLCOLOR $B$@$H!"(BMGL $B$G:GBg$N?'>pJs$rJ]B8$G$-$^$9!#(B
$B$3$l$i$rA*$V4p=`$O!"(B
$BI,MW$H$5$l$kI=8=NO(B $B$H(B $B;HMQ%a%b%j$N%H%l!<%I%*%U$K$9$Y$-$G$9!#(B

<P>
$B$J$*!"(Bbitmap $B$O(B $BDL>o(B NULL$B$K(B $B$7$F$/$@$5$$!#(B
op $B$b(B $BDL>o(B 0 $B$G(B OK$B$G$9!#(B

<H3>$BItJ,%9%/%j!<%s(B</H3>


<BLOCKQUOTE>
<TABLE BORDER=1><TR><TD>
<PRE>

struct screen *create_subscreen(struct screen *parent,int x,int y,
		int xsize,int ysize);

</PRE>
</TD></TR></TABLE>
</BLOCKQUOTE>

<P>$B$3$l$G!"ItJ,%9%/%j!<%s$r@8@.$7$^$9!#(B
$B:BI8$N%m!<%+%i%$%:$d!"%/%j%C%T%s%0(B($B$^$@<BAu$5$l$F$$$^$;$s$,(B)
$B$r9T$&$?$a$N$b$N$G$9!#(B

<HR>

<H2>$B%$%a!<%8A`:n(B</H2>

<P>mgl2 $B$G$O!"<!$N$h$&$J(B $B%$%a!<%8A`:n$r%5%]!<%H$7$F$$$^$9!#(B

<H3>bitblt</H3>
<P> mgl $B$G$O!"(Bscreen $B4V$N(B bitblt $B$r%5%]!<%H$7$F$$$^$9!#(B

<BLOCKQUOTE>
<TABLE BORDER=1><TR><TD>
<PRE>

void bitblt(struct screen *dst, int dx,int dy
	    struct screen *src, int sx,int sy,int xsize,int ysize,int op);

</PRE>
</TD></TR></TABLE>
</BLOCKQUOTE>

$BDL>o(B op $B$K$O!"(B0 $B$r$$$l$^$9$,!"(B
<PRE>
		BLT_TILING		src $B$N%?%$%j%s%0;XDj!#(B
		BLT_MASKING | color	$BF)L@?'$N;XDj(B

</PRE>
$B$b$G$-$^$9!#(B

$B$^$?!"(B16bpp(STK_GENERIC_FULLCOLOR)$B%?%$%W$N%9%/%j!<%s$+$i!"(B
$B$=$NB>$N%9%/%j!<%s%?%$%W$K!"E>Aw$9$k$H$-$O!"<+F0E*$K%G%#%6$,$+$+$j$^$9!#(B

<H3>pixstream</H3>
<P> $B%T%/%;%k$N?'$r(B $BG[Ns$KFI$_$@$7(B/$B=q$-=P$7$,$G$-$^$9!#(B
$B?'$NDj5A$O(B1$B$D$J$N$G!"$3$l$r;H$($P!"B>$N%U%)!<%^%C%H$X$NJQ49$,$G$-$^$9!#(B

<BLOCKQUOTE>
<TABLE BORDER=1><TR><TD>
<PRE>

void get_pixstream(int x,int y,int *buf,int length,int dir,int op);

void put_pixstream(int x,int y,int *buf,int lenght,int dir);

</PRE>
</TD></TR></TABLE>
</BLOCKQUOTE>

<P>dir $B$OJ}8~$r<($7$^$9!#(B
<PRE>
		DIR_NORTH               $B1&$+$i:8(B
		DIR_WEST                $B2<$+$i>e(B
		DIR_SOUTH               $B:8$+$i1&(B
		DIR_EAST                $B>e$+$i2<(B
</PRE>

<P>
get_pixstream $B$N(B op $B$K$O!"(Bbitblt $B$G$NF)L@$K$9$k?'$N;XDj$,$G$-$^$9!#(B
$B$3$N;XDj$r$9$k$H!"3:Ev%T%/%;%k$N?'CM$O!"(BCOLOR_TRANSPARENT $B$K$J$j$^$9!#(B

<P>
$B$^$?!"(BFULLCOLOR $B%?%$%W$N%9%/%j!<%s$G$O!"?'CM$K(B COLOR_DITHER $B%U%i%0$,IU(B
$B$-$^$9!#(B
<P>
put_pixstream $B$G$O!"(BCOLOR_TRANSPARENT $B$N?'$O(B $B$J$K$b$7$J$$;XDj$K$J$j$^$9!#(B
$B$^$?!"(BCOLOR_DITHER $B%U%i%0$,IU$/$H%G%#%6$r$+$1$F$FIA2h$7$^$9!#(B
COLOR_REVERSE $B$r;XDj$9$k$H!"%T%/%;%k$NL@$k$5$rH?E>$7$^$9!#(B
( 2$B2s(B COLOR_REVERSE $B$r9T$&$H85$KLa$j$^$9!#(B)

<HR>

<H2>$B2r@b(B</H2>

<P>MGL $B$G$O?'BN7O$r(B1$B$D$7$+;}$C$F$$$^$;$s!#%"%W%j%1!<%7%g%s$G(B
$B?'$N>pJsNL$,I,MW$J$H$-$O!"(BFULLCOLOR $B$J(B screen $B$r@8@.$9$k$o$1$G$9!#(B


<P>
$BIaDL$N(B Window API $B$O(B
$BJ#?t$N%9%/%j!<%s%U%)!<%^%C%H(B/bitblt $B$r$b$C$F$$$^$9$,!"(B
$B?'BN7O$K!"(BHSB $B$r:NMQ$7$F$$$k$b$N$O$J$$$H;W$$$^$9!#(B

<P>
$B0c$&%?%$%W$N(B screen $B4V$N(B bitblt $B$O!"FbItE*$K(B
get_pixstream/put_pixstream $B$r;H$$$^$9!#(B
1$B$D$N?'BN7O$K$7$+BP1~$7$J$/$FNI$$$N$G!"%3%s%Q%/%H$K$^$H$a$k$3$H$,$G$-$F(B
$B$$$^$9!#(B

$B?'BN7O$K(B RGB $B$r:NMQ$7$?$H$9$k$H!"(B2bpp/8bpp $B$N%?%$%W$N@-G=$,Mn$A$k$3$H$K(B
$B$J$j$^$9!#(B

<UL>
    <LI>2bpp $B$O(B $BL@$k$5$N(B 2bit $B$7$+I,MW$H$7$J$$$N$G!"(BRGB $B$=$l$>$l$r8+$k$N$O(B
	$BCY$/$J$kMW0x$G$9!#(B
    <LI>8bpp $B$G$O!"%O!<%I%&%'%"$,?'JQ49%F!<%V%k$rMQ0U$7$F$$$^$9$,!"(B
        RGB $B$rC1=c$K8:?'$9$k$H!"(B6bit $B$7$+MxMQ$G$-$J$/H~$7$/$"$j$^$;$s!#(B
        MGL $B$G$O!"(BH 4bit S 2bit B 2bit $B$H$$$&$h$&$K(B 8bit $B$9$Y$FMxMQ$G$-$^$9!#(B
	$B$^$?!"<B:]$K;H$&?'$,(B 76$B?'$@$HJ,$+$C$F$$$k$N$G!"JQ49%F!<%V%k$r(B
	1 $B$D:n$l$P!"(B8bpp $B$N(B X $B>e$G$bLdBj$J$/;H$($^$9!#(B
</UL>

<P>
MGL $B$G$O!"(B2bpp/8bpp $B$KM-Mx$K$J$k$h$&$J@_7W$K$J$C$F$$$k$o$1$G$9!#(B
16bpp $B$G$O(B RGB $BCM$HAj8_JQ49$9$k$N$K%F!<%V%k$r;H$&$3$H$rA0Ds$K$7$F$$$^$9!#(B
$B$=$N$?$a!"?'6u4V$r>.$5$/$7$F$G$b!"%a%b%jNL$r8:$i$;$k$3$H$r(B
$BM%@h$7$F$$$^$9!#(B

<P>$B$A$J$_$K!"F1$8%?%$%W4V$N(B bitblt $B$O$J$<Aa$$$+(B --- $B$3$l$O%I%m!<%(%s%8%s(B
$B$N;EAH$_$K$h$k$H$3$m$,Bg$-$$$G$9!#2r@b$OJLES!#(B

<HR>

<CENTER>
<IMG SRC="../icons/bluepin.gif"> $B%*%j%8%J%k(B
<IMG SRC="../icons/redpin.gif"> $B%3%T!<(B
<IMG SRC="../icons/yellowpin.gif"> $B%j%s%/(B
<IMG SRC="../icons/skybluepin.gif"> $B%@%&%s%m!<%I(B
</CENTER>
</BODY>
</HTML>











