Glaux. PAS and Glaux. dll
Source code and Glaux. dll:
Http://download.csdn.net/detail/shuaihj/4043519
Source code list
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_stenpencil = 64;
Aux_aux = 128;
Aux_depth16 = 256;
Aux_fixed_332_par = 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
// Translator mxy Note: aux_a translated into aux_ba, aux_a translated into aux_sa, uppercase plus B, lowercase plus S, and other similar
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_stenpencil (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 auxinit0000wa (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_stenpencil (X: variant): Boolean;
Begin
Result: = (X and aux_stencel) <> 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 auxinit0000wa; 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.