Add(MainForm,15340401,126,140) { Width=484 Height=242 Position=1 link(onCreate,5558289:doEvent1,[]) } Add(GL_Perspective,2,350,203) { Fovy=35 zFar=100 } Add(GL_Main,3,301,154) { Color=15780518 link(onInit,4:doInit,[]) link(onViewPort,2:doPerspective,[(341,167)(341,209)]) link(Handle,9391245:Handle,[]) } Add(Timer,5,203,203) { Interval=33 Enable=1 link(onTimer,7:doEvent1,[]) } Add(GL_GTools,6,301,203) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(Hub,7,245,203) { OutCount=4 link(onEvent1,6:doClear,[]) link(onEvent2,6:doPushMatrix,[]) link(onEvent3,6:doPopMatrix,[]) link(onEvent4,3:doFlip,[(280,230)(280,174)]) } Add(Hub,5558289,168,154) { OutCount=3 link(onEvent1,3:doInit,[]) link(onEvent2,3:doViewPort,[]) link(onEvent3,5:doTimer,[(192,174)(192,209)]) } Add(GL_GluTools,4,350,154) { Texture=0 link(onInit,26:doEnabled,[]) } Add(GL_Light,26,392,154) { Index=1 Ambient=16777215 link(onEnabled,14322260:doEnabled,[]) } Add(Button,3555276,462,427) { Left=210 Top=10 Caption="Flags?" link(onClick,12838068:doString,[]) } Add(ChildPanelEx,9391245,301,105) { } BEGIN_SDK Add(EditMultiEx,635969,21,21) { VarCount=#6:Handle| link(Handle,6700197:Handle,[(27,179)(41,179)]) } Add(Panel,6700197,35,105) { Top=5 Width=200 Height=200 Point(Handle) } END_SDK Add(Label,3729361,637,427) { Left=270 Top=10 Width=200 Height=195 AutoSize=1 } Add(FormatStr,12838068,532,427) { DataCount=12 Mask="%1-GL_LIGHTING\r\n%2-GL_COLOR_MATERIAL;\r\n%3-GL_DEPTH_TEST;\r\n%4-GL_NORMALIZE;\r\n%5-GL_BLEND;\r\n%6-GL_CLIP_PLANE0;\r\n%7-GL_CLIP_PLANE3;\r\n\r\n%8-GL_FOG;\r\n%9-GL_CULL_FACE;\r\n%10-GL_TEXTURE_2D;\r\n%11-GL_CLIP_PLANE2;\r\n%12-GL_CLIP_PLANE5; \r\n" link(onFString,3729361:doText,[]) link(Str1,14322260:Enabled,[(538,240)(454,240)]) link(Str2,14251063:Enabled,[(545,223)(503,223)]) link(Str3,614504:Enabled,[]) link(Str4,15782704:Enabled,[(559,229)(608,229)]) link(Str5,3051069:Enabled,[(566,242)(657,242)]) link(Str6,11951225:Enabled,[(573,250)(713,250)]) link(Str7,11690357:Enabled,[(580,258)(762,258)]) link(Str8,4624231:Enabled,[(587,369)(657,369)]) link(Str9,11194709:Enabled,[(594,380)(713,380)]) link(Str10,10060993:Enabled,[(601,388)(762,388)]) link(Str11,13313711:Enabled,[(608,396)(818,396)]) link(Str12,16335992:Enabled,[(615,410)(874,410)]) } Add(GL_Options,14322260,448,154) { link(onEvent,14251063:doEnabled,[]) } Add(GL_Options,14251063,497,154) { Flag=1 link(onEvent,614504:doEnabled,[]) } Add(GL_Options,614504,546,154) { Flag=2 link(onEvent,15782704:doEnabled,[]) } Add(GL_Options,15782704,602,154) { Flag=3 link(onEvent,3051069:doEnabled,[]) } Add(GL_Options,3051069,651,154) { Flag=8 link(onEvent,11951225:doEnabled,[]) } Add(GL_Options,11951225,707,154) { Flag=12 link(onEvent,11690357:doEnabled,[]) } Add(GL_Options,11690357,756,154) { Flag=12 ClipPlane=3 link(onEvent,4624231:doDisabled,[(813,160)(813,271)(639,271)(639,293)]) } Add(GL_Options,4624231,651,280) { Flag=4 link(onEvent,13313711:doDisabled,[]) } Add(GL_Options,11194709,707,301) { Flag=9 } Add(GL_Options,10060993,756,301) { Flag=10 } Add(GL_Options,13313711,812,273) { Flag=12 ClipPlane=2 } Add(GL_Options,16335992,868,301) { Flag=12 ClipPlane=5 } Add(StrList,15740444,329,287) { FileName="hiGL_Options.pas" Strings=#18:unit hiGL_Options;|0:|9:interface|0:|28:uses Kol,Share,Debug,OpenGL;|3:var|24: glfClipPlane:cardinal;|1: |5:const|27: glfLighting = GL_LIGHTING;|38: glfColorMaterial = GL_COLOR_MATERIAL;|30: glfDepthTest = GL_DEPTH_TEST;|29: glfNormalize = GL_NORMALIZE;|17: glfFog = GL_FOG;|34: glfLineStipple = GL_LINE_STIPPLE;|32: glfLineSmooth = GL_LINE_SMOOTH;|34: glfPointSmooth = GL_POINT_SMOOTH;|21: glfBlend = GL_BLEND;|28: glfCullFace = GL_CULL_FACE;|30: glfTexture2D = GL_TEXTURE_2D;|34: glfStencilTest = GL_STENCIL_TEST;|25: Plane0 = GL_CLIP_PLANE0;|25: Plane1 = GL_CLIP_PLANE1;|25: Plane2 = GL_CLIP_PLANE2;|25: Plane3 = GL_CLIP_PLANE3;|25: Plane4 = GL_CLIP_PLANE4;|26: Plane5 = GL_CLIP_PLANE5; |0:|4:type|31: THIGL_Options = class(TDebug)|10: private|9: public|24: _prop_Flag:cardinal;|29: _prop_ClipPlane:cardinal;|29: _event_onEvent:THI_Event;|0:|59: procedure _work_doEnabled(var _Data:TData; Index:word);|60: procedure _work_doDisabled(var _Data:TData; Index:word);|56: procedure _var_Enabled(var _Data:TData; Index:word);|6: end;|0:|15:implementation |0:|0:|40:procedure THIGL_Options._work_doEnabled;|5:begin|39: if (_prop_Flag) = glfClipPlane then|9: begin|30: glEnable(_prop_ClipPlane);|12: end else|9: begin|25: glEnable(_prop_Flag);|8: end;|43: _hi_CreateEvent(_Data,@_event_onEvent);|4:end;|0:|41:procedure THIGL_Options._work_doDisabled;|5:begin|39: if (_prop_Flag) = glfClipPlane then|9: begin|31: glDisable(_prop_ClipPlane);|12: end else|9: begin|26: glDisable(_prop_Flag);|8: end;|47: _hi_CreateEvent(_Data,@_event_onEvent); |4:end;|0:|37:procedure THIGL_Options._var_Enabled;|5:begin|39: if (_prop_Flag) = glfClipPlane then|9: begin|59: dtInteger(_Data,integer(glIsEnabled(_prop_ClipPlane)));|12: end else|9: begin|54: dtInteger(_Data,integer(glIsEnabled(_prop_Flag)));|8: end;|4:end;|4:end.|0:| AddHint(-116,33,99,13,FileName) } Add(StrList,6370771,329,350) { FileName="GL_Options.ini" Strings=#7:[About]|11:Version=1.2|12:Author=Dilma|18:Mail=hiasm@mail.ru|0:|6:[Type]|13:Class=Element|9:Icon=Flag|21:Info=Настройки вывода|10:Tab=OpenGL|0:|10:[Property]|231:Flag=Параметр, который необходимо разрешить либо запретить|14|0|glfLighting,glfColorMaterial,glfDepthTest,glfNormalize,glfFog,glfLineStipple,glfLineSmooth,glfPointSmooth,glfBlend,glfCullFace,glfTexture2D,glfStencilTest,glfClipPlane|111:ClipPlane=Секущая плоскость, активна при включенном glfClipPlane|14|0|Plane0,Plane1,Plane2,Plane3,Plane4,Plane5|0:|9:[Methods]|32:doEnabled=Устанавливает флаг|1|0|30:doDisabled=Сбрасывает флаг|1|0|59:onEvent=Событие происходит после установки/сброса флага|2|0|72:Enabled=Содержит 1, если флаг установлен, или 0 - в противном случае|3|1|0:| AddHint(-105,33,84,13,FileName) }