glaux.pas及glaux.dll

简介: glaux.pas及glaux.dll源码及glaux.dll下载地址:http://download.csdn.net/detail/shuaihj/4043519 源码清单unit Glaux;interfaceuses Windo...

glaux.pas及glaux.dll

源码及glaux.dll下载地址:

http://download.csdn.net/detail/shuaihj/4043519

 

源码清单

unit Glaux;

interface

uses Windows,Opengl;

type
 _AUX_EVENTREC=record
   event:GLint;
   data:array [0..3] of Glint;
 end;
 AUX_EVENTREC=_AUX_EVENTREC;
 PAUX_EVENTREC=^AUX_EVENTREC;
 TAUX_RGBImageRec= record
   sizeX, sizeY: GLint;
   data: pointer;
 end;
 PTAUX_RGBImageRec= ^TAUX_RGBImageRec;
 AUXMAINPROC=procedure;
 AUXEXPOSEPROC=procedure(value,value1:Integer);
 AUXRESHAPEPROC=procedure(value,value1:GLsizei);
 AUXIDLEPROC=procedure;
 AUXKEYPROC=procedure;
 AUXMOUSEPROC=procedure(value:PAUX_EVENTREC);

const AUX_RGB=0;
      AUX_RGBA=AUX_RGB;
      AUX_INDEX=1;
      AUX_SINGLE=0;
      AUX_DOUBLE=2;
      AUX_DIRECT=0;
      AUX_INDIRECT=4;

      AUX_ACCUM=8;
      AUX_ALPHA=16;
      AUX_DEPTH24=32;
      AUX_STENCIL=64;
      AUX_AUX=128;
      AUX_DEPTH16=256;
      AUX_FIXED_332_PAL=512;
      AUX_DEPTH=AUX_DEPTH16;
      //ToolKit Event Types
      AUX_EXPOSE=1;
      AUX_CONFIG=2;
      AUX_DRAW=4;
      AUX_KEYEVENT=8;
      AUX_MOUSEDOWN=16;
      AUX_MOUSEUP=32;
      AUX_MOUSELOC=64;
      //Toolkit Event Data Indices
      AUX_WINDOWX=0;
      AUX_WINDOWY=1;
      AUX_MOUSEX=0;
      AUX_MOUSEY=1;
      AUX_MOUSESTATUS=3;
      AUX_KEY=0;
      AUX_KEYSTATUS=3;
      //ToolKit Event Status Messages
      AUX_LEFTBUTTON=1;
      AUX_RIGHTBUTTON=2;
      AUX_MIDDLEBUTTON=4;
      AUX_SHIFT=1;
      AUX_CONTROL=2;
      //ToolKit Key Codes
      //译者MXY注:AUX_A译为AUX_BA,AUX_a译为AUX_SA,大写加B,小写加S,其他类同
      AUX_RETURN=$0D;
      AUX_ESCAPE=$1B;
      AUX_SPACE=$20;
      AUX_LEFT=$25;
      AUX_UP=$26;
      AUX_RIGHT=$27;
      AUX_DOWN=$28;
      AUX_BA='A';
      AUX_BB='B';
      AUX_BC='C';
      AUX_BD='D';
      AUX_BE='E';
      AUX_BF='F';
      AUX_BG='G';
      AUX_BH='H';
      AUX_BI='I';
      AUX_BJ='J';
      AUX_BK='K';
      AUX_BL='L';
      AUX_BM='M';
      AUX_BN='N';
      AUX_BO='O';
      AUX_BP='P';
      AUX_BQ='Q';
      AUX_BR='R';
      AUX_BS='S';
      AUX_BT='T';
      AUX_BU='U';
      AUX_BV='V';
      AUX_BW='W';
      AUX_BX='X';
      AUX_BY='Y';
      AUX_BZ='Z';
      AUX_SA='a';
      AUX_SB='b';
      AUX_SC='c';
      AUX_SD='d';
      AUX_SE='e';
      AUX_SF='f';
      AUX_SG='g';
      AUX_SH='h';
      AUX_SI='i';
      AUX_SJ='j';
      AUX_SK='k';
      AUX_SL='l';
      AUX_SM='m';
      AUX_SN='n';
      AUX_SO='o';
      AUX_SP='p';
      AUX_SQ='q';
      AUX_SR='r';
      AUX_SS='s';
      AUX_ST='t';
      AUX_SU='u';
      AUX_SV='v';
      AUX_SW='w';
      AUX_SX='x';
      AUX_SY='y';
      AUX_SZ='z';
      AUX_0='0';
      AUX_1='1';
      AUX_2='2';
      AUX_3='3';
      AUX_4='4';
      AUX_5='5';
      AUX_6='6';
      AUX_7='7';
      AUX_8='8';
      AUX_9='9';
      //ToolKit Gets and Sets
      AUX_FD=1;//return fd (long)
      AUX_COLORMAP=3;//pass buf of r, g and b (unsigned char)
      AUX_GREYSCALEMAP=4;
      AUX_FOGMAP=5;//pass fog and color bits (long)
      AUX_ONECOLOR=6;//pass index, r, g, and b (long)
      //Color Macros
      AUX_BLACK=0;
      AUX_RED=13;
      AUX_GREEN=14;
      AUX_YELLOW=15;
      AUX_BLUE=16;
      AUX_MAGENTA=17;
      AUX_CYAN=18;
      AUX_WHITE=19;
      //enum
      AUX_USE_ID=1;
      AUX_EXACT_MATCH=2;
      AUX_MINIMUM_CRITERIA=3;

function auxDIBImageLoadA(const dibfile: PAnsiChar): PTAUX_RGBImageRec; stdcall;
procedure auxWireSphere(value: GLdouble);stdcall;
procedure auxSolidSphere(value: GLdouble);stdcall;
procedure auxWireCube(value: GLdouble);stdcall;
procedure auxSolidCube(value: GLdouble);stdcall;
procedure auxWireBox(value,value1,value2: GLdouble);stdcall;
procedure auxSolidBox(value,value1,value2: GLdouble);stdcall;
procedure auxWireTorus(value,value1: GLdouble);stdcall;
procedure auxSolidTorus(value,value1: GLdouble);stdcall;
procedure auxWireCylinder(value,value1: GLdouble);stdcall;
procedure auxSolidCylinder(value,value1: GLdouble);stdcall;
procedure auxWireIcosahedron(value: GLdouble);stdcall;
procedure auxSolidIcosahedron(value: GLdouble);stdcall;
procedure auxWireOctahedron(value: GLdouble);stdcall;
procedure auxSolidOctahedron(value: GLdouble);stdcall;
procedure auxWireTetrahedron(value: GLdouble);stdcall;
procedure auxSolidTetrahedron(value: GLdouble);stdcall;
procedure auxWireDodecahedron(value: GLdouble);stdcall;
procedure auxSolidDodecahedron(value: GLdouble);stdcall;
procedure auxWireCone(value,value1: GLdouble);stdcall;
procedure auxSolidCone(value,value1: GLdouble);stdcall;
procedure auxWireTeapot(value: GLdouble);stdcall;
procedure auxSolidTeapot(value: GLdouble);stdcall;

//Window Masks
function AUX_WIND_IS_RGB(x:Variant):Boolean;
function AUX_WIND_IS_INDEX(x:Variant):Boolean;
function AUX_WIND_IS_SINGLE(x:Variant):Boolean;
function AUX_WIND_IS_DOUBLE(x:Variant):Boolean;
function AUX_WIND_IS_INDIRECT(x:Variant):Boolean;
function AUX_WIND_IS_DIRECT(x:Variant):Boolean;
function AUX_WIND_HAS_ACCUM(x:Variant):Boolean;
function AUX_WIND_HAS_ALPHA(x:Variant):Boolean;
function AUX_WIND_HAS_DEPTH(x:Variant):Boolean;
function AUX_WIND_HAS_STENCIL(x:Variant):Boolean;
function AUX_WIND_USES_FIXED_332_PAL(x:Variant):Boolean;

procedure AUX_SETCOLOR(x:Variant;y:Integer);
////////////
procedure auxInitDisplayMode(value:GLenum);stdcall;
procedure auxInitPosition(value,value1,value2,value3:integer);stdcall;
function auxInitWindowA(value:PAnsiChar):GLenum;stdcall;
function auxInitWindowW(value:PWideChar):GLenum;stdcall;
procedure auxCloseWindow;stdcall;
procedure auxQuit;stdcall;
procedure auxSwapBuffers;stdcall;
procedure auxMainLoop(value:AUXMAINPROC);stdcall;
procedure auxReshapeFunc(value:AUXRESHAPEPROC);stdcall;
procedure auxIdleFunc(value:AUXIDLEPROC);stdcall;
procedure auxKeyFunc(value:Integer;value1:AUXKEYPROC);stdcall;
procedure auxMouseFunc(value,value1:Integer;value2:AUXMOUSEPROC);stdcall;
function auxGetColorMapSize:Integer;stdcall;
procedure auxGetMouseLoc(value,value1:PInteger);stdcall;
procedure auxSetOneColor(value:integer; value1,value2,value3:GLfloat);stdcall;
procedure auxSetFogRamp(value,value1:PInteger);stdcall;
procedure auxSetGreyRamp;stdcall;
procedure auxSetRGBMap(value:integer; value1:PGLfloat);stdcall;
function auxDIBImageLoadW(const dibfile: PWideChar): PTAUX_RGBImageRec; stdcall;
procedure auxCreateFont;stdcall;
procedure auxDrawStrA(value:PAnsiChar);stdcall;
procedure auxDrawStrW(value:PWideChar);stdcall;
function auxGetHWND:HWND;stdcall;
function auxGetHDC:HDC;stdcall;
function auxGetHGLRC:HGLRC;stdcall;
procedure auxInitDisplayModePolicy(value:GLenum);stdcall;
function auxInitDisplayModeID(value:GLint):GLenum;stdcall;
function auxGetDisplayModePolicy:GLenum;stdcall;
function auxGetDisplayModeID:GLint;stdcall;
function auxGetDisplayMode:GLenum;stdcall;
////////////
const
 glaux1 = 'glaux.dll';

var auxRGBMap:array [0..19,0..2]of GLfloat;

implementation

function auxDIBImageLoadA; external glaux1;
procedure auxWireSphere;external glaux1;
procedure auxSolidSphere;external glaux1;
procedure auxWireCube;external glaux1;
procedure auxSolidCube;external glaux1;
procedure auxWireBox;external glaux1;
procedure auxSolidBox;external glaux1;
procedure auxWireTorus;external glaux1;
procedure auxSolidTorus;external glaux1;
procedure auxWireCylinder;external glaux1;
procedure auxSolidCylinder;external glaux1;
procedure auxWireIcosahedron;external glaux1;
procedure auxSolidIcosahedron;external glaux1;
procedure auxWireOctahedron;external glaux1;
procedure auxSolidOctahedron;external glaux1;
procedure auxWireTetrahedron;external glaux1;
procedure auxSolidTetrahedron;external glaux1;
procedure auxWireDodecahedron;external glaux1;
procedure auxSolidDodecahedron;external glaux1;
procedure auxWireCone;external glaux1;
procedure auxSolidCone;external glaux1;
procedure auxWireTeapot;external glaux1;
procedure auxSolidTeapot;external glaux1;


function AUX_WIND_IS_RGB(x:Variant):Boolean;
Begin
  Result:=(x and AUX_INDEX)=0;
End;

function AUX_WIND_IS_INDEX(x:Variant):Boolean;
Begin
  Result:=(x and AUX_INDEX)<>0;
End;

function AUX_WIND_IS_SINGLE(x:Variant):Boolean;
Begin
  Result:=(x and AUX_DOUBLE)=0;
End;

function AUX_WIND_IS_DOUBLE(x:Variant):Boolean;
Begin
  Result:=(x and AUX_DOUBLE)<>0;
End;

function AUX_WIND_IS_INDIRECT(x:Variant):Boolean;
Begin
  Result:=(x and AUX_INDIRECT)<>0;
End;

function AUX_WIND_IS_DIRECT(x:Variant):Boolean;
Begin
  Result:=(x and AUX_INDIRECT)=0;
End;

function AUX_WIND_HAS_ACCUM(x:Variant):Boolean;
Begin
  Result:=(x and AUX_ACCUM)<>0;
End;

function AUX_WIND_HAS_ALPHA(x:Variant):Boolean;
Begin
  Result:=(x and AUX_ALPHA)<>0;
End;

function AUX_WIND_HAS_DEPTH(x:Variant):Boolean;
Begin
  Result:=(x and (AUX_DEPTH24 or AUX_DEPTH16))<>0;
End;

function AUX_WIND_HAS_STENCIL(x:Variant):Boolean;
Begin
  Result:=(x and AUX_STENCIL)<>0;
End;

function AUX_WIND_USES_FIXED_332_PAL(x:Variant):Boolean;
Begin
  Result:=(x and AUX_FIXED_332_PAL)<>0;
End;

procedure AUX_SETCOLOR(x:Variant;y:Integer);
Begin
  if AUX_WIND_IS_RGB(x) then glColor3fv(@auxRGBMap[y]) else glIndexf(y);
End;
///////////
procedure auxInitDisplayMode;external glaux1;
procedure auxInitPosition;external glaux1;
function auxInitWindowA;external glaux1;
function auxInitWindowW;external glaux1;
procedure auxCloseWindow;external glaux1;
procedure auxQuit;external glaux1;
procedure auxSwapBuffers;external glaux1;
procedure auxMainLoop;external glaux1;
procedure auxReshapeFunc;external glaux1;
procedure auxIdleFunc;external glaux1;
procedure auxKeyFunc;external glaux1;
procedure auxMouseFunc;external glaux1;
function auxGetColorMapSize:Integer;external glaux1;
procedure auxGetMouseLoc;external glaux1;
procedure auxSetOneColor;external glaux1;
procedure auxSetFogRamp;external glaux1;
procedure auxSetGreyRamp;external glaux1;
procedure auxSetRGBMap;external glaux1;
function auxDIBImageLoadW; external glaux1;
procedure auxCreateFont;external glaux1;
procedure auxDrawStrA;external glaux1;
procedure auxDrawStrW;external glaux1;
function auxGetHWND;external glaux1;
function auxGetHDC;external glaux1;
function auxGetHGLRC;external glaux1;
procedure auxInitDisplayModePolicy;external glaux1;
function auxInitDisplayModeID;external glaux1;
function auxGetDisplayModePolicy;external glaux1;
function auxGetDisplayModeID;external glaux1;
function auxGetDisplayMode;external glaux1;
///////////

end.

相关文章
|
10天前
|
C#
C# 解决引用dll,出现dll不可以使用等问题
C# 解决引用dll,出现dll不可以使用等问题
|
4月前
|
Windows
DLL介绍
DLL介绍
164 0
DLL介绍
|
9月前
|
开发框架 .NET C#
JsonRequestBehavior不存在问题,JsonRequestBehavior属于哪个dll
JsonRequestBehavior不存在问题,JsonRequestBehavior属于哪个dll
|
C++
使用dumpbin查看dll有哪些函数
使用dumpbin查看dll有哪些函数
91 0
|
程序员 编译器 Linux
Unity与 DLL文件 ☀️| 什么是DLL✨?
📣前言 在之前的文章有介绍过so文件,那本篇文章就来介绍一些DLL文件吧! 提起DLL文件,大家肯定不会陌生,就算自己没编写生成过DLL文件,那也一定见过! Windows系统打开电脑C盘的System文件夹,往下一拉就会发现有超级多的带有.dll后缀的文件! 那DLL文件到底是个怎样的存在呢?本篇文章就来好好研究一下这个DLL文件究竟是个啥!
Unity与 DLL文件 ☀️| 什么是DLL✨?
|
Web App开发 安全
|
测试技术 Windows
利用xwizard.exe加载dll
本文讲的是利用xwizard.exe加载dll,在之前的文章介绍了利用Excel.Application object’s RegisterXLL()加载dll的技巧。本文继续,介绍最近学习到的一种更为通用的方法——利用xwizard.exe加载dll。
1881 0