亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sglcore.c

?? sgl數(shù)值計算函數(shù)庫
?? C
字號:
#include <stdio.h>

#include "sgldef.h"
#include "sgltype.h"
#include "sgl.h"
#include "sglutility.h"

#include "draw.h"

#ifdef WIN32
#include "sglwin32.h"
#endif

#ifdef DIRECTX
#include "ddraw_utility.h"
#endif

sglDevice sgl = { 0, 0, 0, 0, 0, 0, 1, 0, 0, -1.0f, -1.0f, 1.0f, 1.0f, 2.0f, 2.0f };

#define DISPLAYMESSAGE(x) printf("SGL Message:%s\n",x);

int sglGetInfo(int index)
{
	switch(index)
	{
	case SGL_WINDOW_WIDTH:
		return sgl.Width;
		break;
	case SGL_WINDOW_HEIGHT:
		return sgl.Height;
		break;
	case SGL_COLORBITS:
		return sgl.ColorBits;
	case SGL_TIME:
		return timeGetTime()-sgl.StartTime;
	default:
		DISPLAYMESSAGE("Unknown question for sglGetInfo")
		break;
	}
	return 0;
}

void sglCreateWindow(int cx, int cy, int width, int height, int db)
{
	if ( sglReady() )
	{
		DISPLAYMESSAGE("sglCreateWindow couldn't be used here.");
		return;
	}
	sgl.Width = width;
	sgl.Height = height;
	sgl.DoubleBuffer = db;
	sgl.FullScreen = 0;
#ifdef WIN32
	Win32CreateWindow(cx, cy, width, height, db);
#endif
	sglDefaultPalette();
	sglCaptureKeyboard();
}

void sglFullScreen(int width, int height, int bpps, int db)
{
	if ( sglReady() )
	{
		DISPLAYMESSAGE("sglFullScreen couldn't be used here.");
		return;
	}

	sgl.Width = width;
	sgl.Height = height;
	sgl.ColorBits = bpps;
	sgl.DoubleBuffer = db;
	sgl.FullScreen = 1;
#ifdef WIN32
	Win32FullScreen(width, height, bpps, db);
#endif
	sglDefaultPalette();
	sglCaptureKeyboard();
}

void sglMainLoop(void)
{
#ifdef WIN32
	Win32MainLoop();
#endif
}

void sglEnableColorKey(void)
{
	sgl.EnableColorKey = 1;
}

void sglDisableColorKey(void)
{
	sgl.EnableColorKey = 0;
}

void sglSetPalette(int index, int r, int g, int b)
{
#ifdef DIRECTX
	DDSetPalette(index, r, g, b);
#endif
}

void sglUpdatePalette(void)
{
#ifdef DIRECTX
	DDUpdatePalette();
#endif
}

void sglDefaultPalette(void)
{
	int i;
	int r,g,b;

	for ( i=0; i<256; i++ )
	{
		b = (i & 0xC0)>>6;
		g = (i & 0x38)>>3;
		r = (i & 0x07);
		b = b*255/3;
		g = g*255/7;
		r = r*255/7;
		sglSetPalette(i, r, g, b);
	}
	sglUpdatePalette();
}

void sglCaptureKeyboard(void)
{
#ifdef DIRECTX
	DDInputInit();
#endif
}

void sglReleaseKeyboard(void)
{
#ifdef DIRECTX
	DDInputRelease();
#endif
}

void sglReadKeyboard(void)
{
#ifdef DIRECTX
	DDReadKeyboard();
#endif
}

int sglKeyPressed(int key)
{
#ifdef DIRECTX
	return DDKeyPressed(key) ? 1:0;
#endif
}

void sglSetTitle(char *str)
{
#ifdef WIN32
	Win32SetTitle(str);
#endif
}

void fsglSetTitle(char *str, unsigned int len)
{
	sglSetTitle( MakeCString(str,len) );
}

void sglEnableReshape( int enable )
{
	sgl.EnableReshape = enable;
}

void sglShowCursor(int show)
{
#ifdef WIN32
	Win32ShowCursor(show);
#endif
}
void sglEnd(void)
{
#ifdef WIN32
	PostQuitMessage(0);
#endif
}

void sglSetVirtual(float left, float top, float right, float bottom)
{
	sgl.vLeft = left;
	sgl.vRight = right;
	sgl.vTop = top;
	sgl.vBottom = bottom;
	sgl.vWidth = right - left;
	sgl.vHeight = bottom - top;
}

int sglMapX(float x)
{
	return (int)( (x-sgl.vLeft)*sgl.Width/sgl.vWidth+0.5f);
}

int sglMapY(float y)
{
	return (int)( (y-sgl.vTop)*sgl.Height/sgl.vHeight+0.5f);
}

int sglMapLenX(float len)
{
	int value = (int) (len*sgl.Width/sgl.vWidth);
	return value>0 ? value:-value;
}

int sglMapLenY(float len)
{
	int value = (int) (len*sgl.Height/sgl.vHeight);
	return value>0 ? value:-value;
}

float sglMapVX(int x)
{
	float r = (float)x/(float)sgl.Width;
	return r*sgl.vWidth+sgl.vLeft;
}

float sglMapVY(int y)
{
	float r = (float)y/(float)sgl.Height;
	return r*sgl.vHeight+sgl.vTop;
}

void sglLineV(float x0, float y0, float x1, float y1)
{
	int ix0 = sglMapX(x0);
	int iy0 = sglMapY(y0);
	int ix1 = sglMapX(x1);
	int iy1 = sglMapY(y1);
	sglLine(ix0, iy0, ix1, iy1);
}

void sglRectV(float x0, float y0, float x1, float y1)
{
	int ix0 = sglMapX(x0);
	int iy0 = sglMapY(y0);
	int ix1 = sglMapX(x1);
	int iy1 = sglMapY(y1);
	sglRect(ix0, iy0, ix1, iy1);
}

void sglFilledRectV(float x0, float y0, float x1, float y1)
{
	int ix0 = sglMapX(x0);
	int iy0 = sglMapY(y0);
	int ix1 = sglMapX(x1);
	int iy1 = sglMapY(y1);
	sglFilledRect(ix0, iy0, ix1, iy1);
}

void sglCircleV(float cx, float cy, float r)
{
	sglEllipseV(cx,cy,r,r);
}

void sglFilledCircleV(float cx, float cy, float r)
{
	sglFilledEllipseV(cx,cy,r,r);
}

void sglEllipseV(float cx, float cy, float rx, float ry)
{
	int ix = sglMapX(cx);
	int iy = sglMapY(cy);
	int irx = sglMapLenX(rx);
	int iry = sglMapLenY(ry);
	sglEllipse(ix,iy,irx,iry);
}

void sglFilledEllipseV(float cx, float cy, float rx, float ry)
{
	int ix = sglMapX(cx);
	int iy = sglMapY(cy);
	int irx = sglMapLenX(rx);
	int iry = sglMapLenY(ry);
	sglFilledEllipse(ix,iy,irx,iry);
}

void sglSelectBuffer(int target)
{
#ifdef DIRECTX
	DDSelectBuffer(target);
#endif
}

BOOL sglReady(void)
{
#ifdef DIRECTX
	return DDReady();
#endif
}

void sglColor3f(float r, float g, float b)
{
	int ir = (int)(r*255.0f + 0.5f);
	int ig = (int)(g*255.0f + 0.5f);
	int ib = (int)(b*255.0f + 0.5f);
	if ( ir>255 ) ir=255;
	if ( ir<0   ) ir=0;
	if ( ig>255 ) ig=255;
	if ( ig<0   ) ig=0;
	if ( ib>255 ) ib=255;
	if ( ib<0   ) ib=0;
#ifdef DIRECTX
	DDSetColor(ir,ig,ib);
#endif
}

void sglColor3i(int r, int g, int b)
{
#ifdef DIRECTX
	DDColor3i(r,g,b);
#endif
}

void sglColor(int color)
{
#ifdef DIRECTX
	DDColor(color);
#endif
}

void sglColorKey3f(float r, float g, float b)
{
	int ir = (int)(255.0f*r+0.5f);
	int ig = (int)(255.0f*g+0.5f);
	int ib = (int)(255.0f*b+0.5f);
#ifdef DIRECTX
	DDColorKey3i(ir,ig,ib);
#endif
}

void sglColorKey3i(int r, int g, int b)
{
#ifdef DIRECTX
	DDColorKey3i(r,g,b);
#endif
}

void sglColorkey(int color)
{
#ifdef DIRECTX
	DDColorKey(color);
#endif
}

void sglClearColor3f(float r, float g, float b)
{
	int ir = (int)(r*255.0f + 0.5f);
	int ig = (int)(g*255.0f + 0.5f);
	int ib = (int)(b*255.0f + 0.5f);
	if ( ir>255 ) ir=255;
	if ( ir<0   ) ir=0;
	if ( ig>255 ) ig=255;
	if ( ig<0   ) ig=0;
	if ( ib>255 ) ib=255;
	if ( ib<0   ) ib=0;
#ifdef DIRECTX
	DDBGColor3i(ir,ig,ib);
#endif
}

void sglClearColor3i(int r, int g, int b)
{
#ifdef DIRECTX
	DDBGColor3i(r,g,b);
#endif
}

void sglClearColor(int color)
{
#ifdef DIRECTX
	DDBGColor(color);
#endif
}

void sglPixel( int x, int y )
{
#ifdef DIRECTX
	DDStartDraw();
	DDPutPixel(x,y);
	DDEndDraw();
#endif
}

void sglPixelV( float x, float y)
{
	int ix = (int)(sglMapX(x)+0.5f);
    int iy = (int)(sglMapY(y)+0.5f);
	sglPixel(ix,iy);
}

void sglRect( int x0, int y0, int x1, int y1 )
{
	sglLine(x0,y0, x1,y0);
	sglLine(x0,y1, x1,y1);
	sglLine(x0,y0, x0,y1);
	sglLine(x1,y0, x1,y1);
}

void sglFilledRect( int x0, int y0, int x1, int y1 )
{
#ifdef DIRECTX
	DDStartDraw();
	DDDrawFilledRect(x0,y0, x1,y1);
	DDEndDraw();
#endif
}

void sglLine( int x0, int y0, int x1, int y1 )
{
#ifdef DIRECTX
	DDStartDraw();
	draw_line(x0,y0, x1,y1, DDPutPixel, DDhline, DDvline);
	DDEndDraw();
#endif
}

void sglCircle( int cx, int cy, int r )
{
#ifdef DIRECTX
	DDStartDraw();
	draw_circle(cx , cy, r , DDPutPixel);
	DDEndDraw();
#endif
}

void sglFilledCircle( int cx, int cy, int r)
{
#ifdef DIRECTX
	DDStartDraw();
	draw_filled_circle(cx, cy, r, DDhline);
	DDEndDraw();
#endif
}

void sglEllipse( int cx, int cy, int rx, int ry )
{
#ifdef DIRECTX
	DDStartDraw();
	draw_ellipse(cx,cy, rx,ry, DDPutPixel);
	DDEndDraw();
#endif
}

void sglFilledEllipse( int cx, int cy, int rx, int ry )
{
#ifdef DIRECTX
	DDStartDraw();
	draw_filled_ellipse(cx,cy,rx,ry, DDhline);
	DDEndDraw();
#endif
}

void sglArc( int cx, int cy, int r, float start, float end )
{
#ifdef DIRECTX
	DDStartDraw();
	draw_arc(cx, cy, r, start, end, DDPutPixel);
	DDEndDraw();
#endif
}

void sglArcV( float cx, float cy, float radius, float start, float end )
{
	const int lines = 200;
	float rinc = (end-start)/(float)lines;
	float r = start;
	float x0,y0, x1,y1;
	
	x0 = cx+sglcos(r)*radius;
	y0 = cy-sglsin(r)*radius;
	r += rinc;
	while(r<=end)
	{
		x1 = cx+sglcos(r)*radius;
		y1 = cy-sglsin(r)*radius;
		sglLineV(x0,y0, x1,y1);
		x0 = x1;
		y0 = y1;
		r += rinc;
	}
}

void sglFan( int cx, int cy, int r, float start, float end )
{
	int xs = (int) (sglsin(start)*r+cx);
	int ys = (int) (sglcos(start)*r+cy);
	int xe = (int) (sglsin(end)*r+cx);
	int ye = (int) (sglcos(end)*r+cy);

	sglArc(cx, cy, r, start, end);
	sglLine(cx, cy, xs, ys);
	sglLine(cx, cy, xe, ye);
}

void sglFanV(float cx, float cy, float r, float start, float end)
{
	float xs = sglsin(start)*r+cx;
	float ys = sglcos(start)*r+cy;
	float xe = sglsin(end)*r+cx;
	float ye = sglcos(end)*r+cy;
	sglArcV(cx,cy,r,start,end);
	sglLineV(cx,cy,xs,ys);
	sglLineV(cx,cy,xe,ye);
}

void sglClearBuffer(void)
{
#ifdef DIRECTX
	DDClearTargetSurface();
#endif
}

void sglUpdateBuffer(void)
{
#ifdef DIRECTX
	DDBlitToFrontSurface();
#endif
}

void sglShowFPS(BOOL flag)
{
#ifdef DIRECTX
	DDShowFPS(flag);
#endif
}

extern char * MakeCString(char *str, unsigned int len);

void fsglTextOut(int *x, int *y, char *str, unsigned int len)
{
	sglTextOut(*x, *y, MakeCString(str,len));
}

void sglTextOut(int x, int y, char *string)
{
#ifdef DIRECTX
	DDTextOut(x,y,string);
#endif
}

void fsglUseFont(char *name, unsigned int strlen, int *w, int *h)
{
	sglUseFont( MakeCString(name,strlen), *w, *h );
}

void sglUseFont(char *name, int w, int h)
{
#ifdef DIRECTX
	DDUseFont(name, w, h);
#endif
}

void sglGetPixel(int x, int y, int *r, int *g, int *b)
{
#ifdef DIRECTX
	DDGetPixel(x,y,r,g,b);
#endif
}

void sglGetBuffer(void *buffer, int x, int y, int width, int height)
{
#ifdef DIRECTX
	DDStartDraw();
	DDGetBuffer(buffer, x, y, width, height);
	DDEndDraw();
#endif
}

void sglPutBuffer(void *buffer, int x, int y, int width, int height)
{
#ifdef DIRECTX
	DDStartDraw();
	DDPutBuffer(buffer, x, y, width, height);
	DDEndDraw();
#endif
}

void sglGetRGBBuffer(void *buffer, int x, int y, int width, int height)
{
#ifdef DIRECTX
	DDStartDraw();
	DDGetRGBBuffer(buffer, x, y, width, height);
	DDEndDraw();
#endif
}

void sglPutRGBBuffer(void *buffer, int x, int y, int width, int height)
{
#ifdef DIRECTX
	DDStartDraw();
	DDPutRGBBuffer(buffer, x, y, width, height);
	DDEndDraw();
#endif
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品电影一区二区三区| 91精品久久久久久久91蜜桃| 麻豆精品一区二区| 亚洲成a人v欧美综合天堂下载| 欧美极品美女视频| 国产人妖乱国产精品人妖| 精品久久免费看| 精品国产乱子伦一区| 欧美va亚洲va国产综合| 日韩限制级电影在线观看| 91精品国产色综合久久不卡蜜臀| 欧美综合天天夜夜久久| 国产不卡视频一区二区三区| 精品综合免费视频观看| 国产+成+人+亚洲欧洲自线| 国产成人免费av在线| 色综合色狠狠综合色| 欧美在线免费视屏| 91精品国产综合久久久久久漫画| 欧美日韩精品三区| 日韩一区二区免费视频| 久久久综合网站| 亚洲你懂的在线视频| 亚洲香蕉伊在人在线观| 亚洲视频狠狠干| 免费成人美女在线观看.| 国产一区二区在线电影| 99久久免费视频.com| 欧美精品xxxxbbbb| 日韩你懂的在线播放| 国产精品福利av| 国内精品国产三级国产a久久| 成人污视频在线观看| 777久久久精品| 最新不卡av在线| 国产一区二区三区四区五区入口| 99久久精品免费看| 久久久久国产精品免费免费搜索| 中文久久乱码一区二区| 美女在线观看视频一区二区| 91久久国产最好的精华液| 国产三级一区二区三区| 免费黄网站欧美| 欧美性猛交xxxx黑人交| 国产精品美女久久久久aⅴ国产馆| 日韩精品久久理论片| 色综合激情久久| 久久精品一区八戒影视| 亚洲精品中文在线观看| 国产精品综合一区二区三区| 精品成人在线观看| 国产在线精品一区二区| 欧美v日韩v国产v| 免费观看日韩电影| 久久综合色鬼综合色| 国产jizzjizz一区二区| 日韩一级黄色片| 国产在线播放一区三区四| 欧美成人性战久久| 国产精品一区二区黑丝| 国产精品丝袜一区| 在线观看不卡一区| 国产成人福利片| 亚洲综合男人的天堂| 欧美一区二区三区四区久久| 韩国视频一区二区| 亚洲男人电影天堂| 久久网站热最新地址| 在线免费观看不卡av| 国内精品第一页| 亚洲五码中文字幕| 亚洲欧美在线另类| 在线91免费看| jizzjizzjizz欧美| 日本不卡的三区四区五区| 国产精品无圣光一区二区| 日韩三级伦理片妻子的秘密按摩| 91免费在线看| av在线播放不卡| 成人开心网精品视频| 国产福利一区在线| 国产精品一区二区在线播放 | 一区二区在线电影| 国产精品污网站| 中文字幕中文字幕一区二区| 国产女主播在线一区二区| 久久久久久久久久久久久女国产乱| 91九色最新地址| 欧美一区二区三区日韩视频| 91.成人天堂一区| 精品国产乱码久久久久久1区2区| 日韩欧美国产1| 国产日韩视频一区二区三区| 欧美国产日韩精品免费观看| 中文字幕视频一区| 天涯成人国产亚洲精品一区av| 日韩av电影天堂| 寂寞少妇一区二区三区| 另类调教123区| 成人黄页毛片网站| 欧美午夜精品电影| 久久一夜天堂av一区二区三区| 国产精品色在线观看| 婷婷国产在线综合| 粉嫩一区二区三区性色av| 在线观看视频一区二区| 日韩精品专区在线| 亚洲欧美色图小说| 国产精品一区在线| 在线电影国产精品| 中文字幕一区二区三区色视频| 日韩av中文在线观看| 成人国产精品免费观看| 欧美一区二区三区成人| 一区二区三区国产豹纹内裤在线| 国产又黄又大久久| 日韩一区二区精品| 亚洲大片在线观看| 在线日韩av片| 亚洲免费在线视频| 99精品国产91久久久久久| 国产婷婷色一区二区三区 | 在线观看三级视频欧美| 国产日韩欧美在线一区| 国产综合色在线视频区| 欧美一区二区三区视频在线观看| 亚洲日本在线视频观看| 91丨porny丨蝌蚪视频| 国产精品网站在线播放| www.亚洲免费av| 国产精品电影一区二区三区| 成人avav在线| 亚洲综合视频网| 日韩一本二本av| 国产一区视频网站| 国产精品天干天干在观线| 成人av综合一区| 亚洲永久精品国产| 欧美一区二区三区在| 国产乱码精品1区2区3区| 国产亚洲成aⅴ人片在线观看| av综合在线播放| 亚洲va国产天堂va久久en| 精品三级在线观看| av资源网一区| 久久er99精品| 亚洲免费av高清| www日韩大片| 在线观看不卡一区| 国内精品伊人久久久久影院对白| 国产欧美精品一区| 欧美丰满高潮xxxx喷水动漫| 精品一区免费av| 亚洲综合一区二区三区| 精品久久久久久久人人人人传媒| 色综合久久88色综合天天| 经典一区二区三区| 午夜一区二区三区视频| 久久久久久99精品| 欧美一二三区精品| 欧美色视频在线| 国产不卡在线播放| 激情综合色综合久久| 五月婷婷激情综合网| 中文字幕在线不卡一区| 欧美v国产在线一区二区三区| 欧美少妇bbb| 欧美日韩在线精品一区二区三区激情| 国产99一区视频免费| 国产.欧美.日韩| 国产成人在线视频免费播放| 日韩综合在线视频| 蜜桃久久av一区| 极品少妇xxxx精品少妇| 国产一区二区三区在线观看精品 | 国产精品热久久久久夜色精品三区| 日韩一区二区影院| 日韩一区二区三区在线观看| 欧美一卡2卡三卡4卡5免费| 欧美一级理论片| 精品国产免费久久| 国产精品免费av| 亚洲精品视频在线观看网站| 一区二区三区精品在线观看| 一区二区三区中文字幕电影| 亚洲国产视频直播| 精品在线一区二区| 91热门视频在线观看| 欧美日韩一区二区电影| 久久美女艺术照精彩视频福利播放| 久久久精品中文字幕麻豆发布| 国产精品久久久久久久浪潮网站| 亚洲精品日韩综合观看成人91| 亚洲成a人片综合在线| 精油按摩中文字幕久久| 91久久精品一区二区| 国产无人区一区二区三区| 亚洲一区二区三区四区在线观看| 久草精品在线观看| 欧美男男青年gay1069videost |