Glaux. PAS and Glaux. dll

Source: Internet
Author: User

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.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.