diff --git a/.gitattributes b/.gitattributes index 4e2737cf22..ef735d6c07 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7231,6 +7231,7 @@ lcl/interfaces/carbon/pascocoa/foundation/foundation.pas svneol=native#text/plai lcl/interfaces/cocoa/Makefile svneol=native#text/plain lcl/interfaces/cocoa/Makefile.compiled svneol=native#text/plain lcl/interfaces/cocoa/Makefile.fpc svneol=native#text/plain +lcl/interfaces/cocoa/agl.pp svneol=native#text/plain lcl/interfaces/cocoa/alllclintfunits.pas svneol=native#text/plain lcl/interfaces/cocoa/cocoa_extra.pas svneol=native#text/plain lcl/interfaces/cocoa/cocoacaret.pas svneol=native#text/pascal diff --git a/lcl/interfaces/carbon/alllclintfunits.pas b/lcl/interfaces/carbon/alllclintfunits.pas index 522ca084d6..de58d4ed3c 100644 --- a/lcl/interfaces/carbon/alllclintfunits.pas +++ b/lcl/interfaces/carbon/alllclintfunits.pas @@ -2,46 +2,46 @@ unit AllLCLIntfUnits; interface uses - {%H-}carbonprivate, - {%H-}carbonbars, - {%H-}carbongdiobjects, - {%H-}carbondebug, - {%H-}carbonwsmenus, - {%H-}carbonwsbuttons, - {%H-}agl, - {%H-}carbonwschecklst, - {%H-}carboncalendarview, - {%H-}carboncalendar, - {%H-}carbondbgconsts, - {%H-}carbonedits, - {%H-}carbonbuttons, - {%H-}carbonstrings, - {%H-}carbonwspairsplitter, - {%H-}glgrab, - {%H-}interfaces, - {%H-}carbonwsdialogs, - {%H-}carbonclipboard, - {%H-}carbonwscontrols, - {%H-}carbonwsfactory, - {%H-}carbonutils, - {%H-}carbondef, - {%H-}opengl, - {%H-}carboncaret, - {%H-}carbonwscomctrls, - {%H-}carbonwsstdctrls, - {%H-}carbonwsextctrls, - {%H-}carbonwsforms, - {%H-}carbonproc, - {%H-}carbonwsextdlgs, - {%H-}carbontabs, - {%H-}carbonlistviews, - {%H-}carbonint, - {%H-}carbonwsspin, - {%H-}carbonthemes, - {%H-}carbonmenus, - {%H-}carbonwsgrids, - {%H-}carbonwsimglist, - {%H-}carboncanvas, - {%H-}carbonwscalendar; + agl{%H-}, + carbonbars{%H-}, + carbonbuttons{%H-}, + carboncalendar{%H-}, + carboncalendarview{%H-}, + carboncanvas{%H-}, + carboncaret{%H-}, + carbonclipboard{%H-}, + carbondbgconsts{%H-}, + carbondebug{%H-}, + carbondef{%H-}, + carbonedits{%H-}, + carbongdiobjects{%H-}, + carbonint{%H-}, + carbonlistviews{%H-}, + carbonmenus{%H-}, + carbonprivate{%H-}, + carbonproc{%H-}, + carbonstrings{%H-}, + carbontabs{%H-}, + carbonthemes{%H-}, + carbonutils{%H-}, + carbonwsbuttons{%H-}, + carbonwscalendar{%H-}, + carbonwschecklst{%H-}, + carbonwscomctrls{%H-}, + carbonwscontrols{%H-}, + carbonwsdialogs{%H-}, + carbonwsextctrls{%H-}, + carbonwsextdlgs{%H-}, + carbonwsfactory{%H-}, + carbonwsforms{%H-}, + carbonwsgrids{%H-}, + carbonwsimglist{%H-}, + carbonwsmenus{%H-}, + carbonwspairsplitter{%H-}, + carbonwsspin{%H-}, + carbonwsstdctrls{%H-}, + glgrab{%H-}, + interfaces{%H-}, + opengl{%H-}; implementation end. diff --git a/lcl/interfaces/cocoa/agl.pp b/lcl/interfaces/cocoa/agl.pp new file mode 100644 index 0000000000..5638d8df1c --- /dev/null +++ b/lcl/interfaces/cocoa/agl.pp @@ -0,0 +1,520 @@ +{ + ***************************************************************************** + This file is part of the Lazarus Component Library (LCL) + + See the file COPYING.modifiedLGPL.txt, included in this distribution, + for details about the license. + ***************************************************************************** +} +unit agl; + +{$ifdef fpc} + {$mode objfpc} + {$Packrecords C} + {$calling cdecl} + {$linkframework AGL} +{$endif} + +interface + +uses GL, GLU; + +{Type +PAGLContext = ^AGLContext; +PAGLDevice = ^AGLDevice; +PAGLDrawable = ^AGLDrawable; +PAGLPbuffer = ^AGLPbuffer; +PAGLPixelFormat = ^AGLPixelFormat; +PAGLRendererInfo = ^AGLRendererInfo; +PGLenum = ^GLenum; +PGLint = ^GLint; +PGLubyte = ^GLubyte; +PGLvoid = ^GLvoid;} + +{ +** AGL API version. + } + +const + AGL_VERSION_2_0 = 1; +{ +** Macintosh device type. + } + +type + TGDHandle = ptrint; + TCGrafPtr = Pointer; + + PAGLDevice = ^TAGLDevice; + TAGLDevice = TGDHandle; +{ +** Macintosh drawable type. + } + + PAGLDrawable = ^TAGLDrawable; + TAGLDrawable = TCGrafPtr; +{ +** AGL opaque data. + } + + TAGLRendererInfo = Pointer; + + TAGLPixelFormat = Pointer; + + TAGLContext = Pointer; + + TAGLPbuffer = Pointer; + PAGLPbuffer = ^TAGLPbuffer; +{********************************************************************** } +{ +** Attribute names for aglChoosePixelFormat and aglDescribePixelFormat. + } + +const + AGL_NONE = 0; +{ choose from all available renderers } + AGL_ALL_RENDERERS = 1; +{ depth of the index buffer } + AGL_BUFFER_SIZE = 2; +{ level in plane stacking } + AGL_LEVEL = 3; +{ choose an RGBA format } + AGL_RGBA = 4; +{ double buffering supported } + AGL_DOUBLEBUFFER = 5; +{ stereo buffering supported } + AGL_STEREO = 6; +{ number of aux buffers } + AGL_AUX_BUFFERS = 7; +{ number of red component bits } + AGL_RED_SIZE = 8; +{ number of green component bits } + AGL_GREEN_SIZE = 9; +{ number of blue component bits } + AGL_BLUE_SIZE = 10; +{ number of alpha component bits } + AGL_ALPHA_SIZE = 11; +{ number of depth bits } + AGL_DEPTH_SIZE = 12; +{ number of stencil bits } + AGL_STENCIL_SIZE = 13; +{ number of red accum bits } + AGL_ACCUM_RED_SIZE = 14; +{ number of green accum bits } + AGL_ACCUM_GREEN_SIZE = 15; +{ number of blue accum bits } + AGL_ACCUM_BLUE_SIZE = 16; +{ number of alpha accum bits } + AGL_ACCUM_ALPHA_SIZE = 17; +{ +** Extended attributes + } +{ frame buffer bits per pixel } + AGL_PIXEL_SIZE = 50; +{ never choose smaller buffers than requested } + AGL_MINIMUM_POLICY = 51; +{ choose largest buffers of type requested } + AGL_MAXIMUM_POLICY = 52; +{ choose an off-screen capable renderer } + AGL_OFFSCREEN = 53; +{ choose a full-screen capable renderer } + AGL_FULLSCREEN = 54; +{ number of multi sample buffers } + AGL_SAMPLE_BUFFERS_ARB = 55; +{ number of samples per multi sample buffer } + AGL_SAMPLES_ARB = 56; +{ independent depth and/or stencil buffers for the aux buffer } + AGL_AUX_DEPTH_STENCIL = 57; +{ color buffers store floating point pixels } + AGL_COLOR_FLOAT = 58; +{ choose multisample } + AGL_MULTISAMPLE = 59; +{ choose supersample } + AGL_SUPERSAMPLE = 60; +{ request alpha filtering } + AGL_SAMPLE_ALPHA = 61; +{ +** Renderer management + } +{ request renderer by ID } + AGL_RENDERER_ID = 70; +{ choose a single renderer for all screens } + AGL_SINGLE_RENDERER = 71; +{ disable all failure recovery systems } + AGL_NO_RECOVERY = 72; +{ choose a hardware accelerated renderer } + AGL_ACCELERATED = 73; +{ choose the closest color buffer to request } + AGL_CLOSEST_POLICY = 74; +{ renderer does not need failure recovery } + AGL_ROBUST = 75; +{ back buffer contents are valid after swap } + AGL_BACKING_STORE = 76; +{ renderer is multi-processor safe } + AGL_MP_SAFE = 78; +{ can be used to render to a window } + AGL_WINDOW = 80; +{ single window can span multiple screens } + AGL_MULTISCREEN = 81; +{ virtual screen number } + AGL_VIRTUAL_SCREEN = 82; +{ renderer is opengl compliant } + AGL_COMPLIANT = 83; +{ can be used to render to a pbuffer } + AGL_PBUFFER = 90; +{ can be used to render offline to a pbuffer } + AGL_REMOTE_PBUFFER = 91; +{ +** Property names for aglDescribeRenderer + } +{ #define AGL_OFFSCREEN 53 } +{ #define AGL_FULLSCREEN 54 } +{ #define AGL_RENDERER_ID 70 } +{ #define AGL_ACCELERATED 73 } +{ #define AGL_ROBUST 75 } +{ #define AGL_BACKING_STORE 76 } +{ #define AGL_MP_SAFE 78 } +{ #define AGL_WINDOW 80 } +{ #define AGL_MULTISCREEN 81 } +{ #define AGL_COMPLIANT 83 } +{ #define AGL_PBUFFER 90 } + AGL_BUFFER_MODES = 100; + AGL_MIN_LEVEL = 101; + AGL_MAX_LEVEL = 102; + AGL_COLOR_MODES = 103; + AGL_ACCUM_MODES = 104; + AGL_DEPTH_MODES = 105; + AGL_STENCIL_MODES = 106; + AGL_MAX_AUX_BUFFERS = 107; + AGL_VIDEO_MEMORY = 120; + AGL_TEXTURE_MEMORY = 121; + AGL_RENDERER_COUNT = 128; +{ +** Integer parameter names + } +{ Enable or set the swap rectangle } + AGL_SWAP_RECT = 200; +{ Enable or set the buffer rectangle } + AGL_BUFFER_RECT = 202; +{ Enable or disable the swap async limit } + AGL_SWAP_LIMIT = 203; +{ Enable or disable colormap tracking } + AGL_COLORMAP_TRACKING = 210; +{ Set a colormap entry to index, r, g, b } + AGL_COLORMAP_ENTRY = 212; +{ Enable or disable all rasterization } + AGL_RASTERIZATION = 220; +{ 0 -> Don't sync, n -> Sync every n retrace } + AGL_SWAP_INTERVAL = 222; +{ Validate state for multi-screen functionality } + AGL_STATE_VALIDATION = 230; +{ Set the buffer name. Allows for multi ctx to share a buffer } + AGL_BUFFER_NAME = 231; +{ Order the current context in front of all the other contexts. } + AGL_ORDER_CONTEXT_TO_FRONT = 232; +{ aglGetInteger only - returns the ID of the drawable surface for the context } + AGL_CONTEXT_SURFACE_ID = 233; +{ aglGetInteger only - returns the display ID(s) of all displays touched by the context, up to a maximum of 32 displays } + AGL_CONTEXT_DISPLAY_ID = 234; +{ Position of OpenGL surface relative to window: 1 -> Above window, -1 -> Below Window } + AGL_SURFACE_ORDER = 235; +{ Opacity of OpenGL surface: 1 -> Surface is opaque (default), 0 -> non-opaque } + AGL_SURFACE_OPACITY = 236; +{ Enable or set the drawable clipping region } + AGL_CLIP_REGION = 254; +{ Enable the capture of only a single display for aglFullScreen, normally disabled } + AGL_FS_CAPTURE_SINGLE = 255; +{ 2 params. Width/height of surface backing size } + AGL_SURFACE_BACKING_SIZE = 304; +{ Enable or disable surface backing size override } + AGL_ENABLE_SURFACE_BACKING_SIZE = 305; +{ Flag surface to candidate for deletion } + AGL_SURFACE_VOLATILE = 306; +{ +** Option names for aglConfigure. + } +{ Set the size of the pixel format cache } + AGL_FORMAT_CACHE_SIZE = 501; +{ Reset the pixel format cache } + AGL_CLEAR_FORMAT_CACHE = 502; +{ Whether to retain loaded renderers in memory } + AGL_RETAIN_RENDERERS = 503; +{ buffer_modes } + AGL_MONOSCOPIC_BIT = $00000001; + AGL_STEREOSCOPIC_BIT = $00000002; + AGL_SINGLEBUFFER_BIT = $00000004; + AGL_DOUBLEBUFFER_BIT = $00000008; +{ bit depths } + AGL_0_BIT = $00000001; + AGL_1_BIT = $00000002; + AGL_2_BIT = $00000004; + AGL_3_BIT = $00000008; + AGL_4_BIT = $00000010; + AGL_5_BIT = $00000020; + AGL_6_BIT = $00000040; + AGL_8_BIT = $00000080; + AGL_10_BIT = $00000100; + AGL_12_BIT = $00000200; + AGL_16_BIT = $00000400; + AGL_24_BIT = $00000800; + AGL_32_BIT = $00001000; + AGL_48_BIT = $00002000; + AGL_64_BIT = $00004000; + AGL_96_BIT = $00008000; + AGL_128_BIT = $00010000; +{ color modes } +{ 8 rgb bit/pixel, RGB=7:0, inverse colormap } + AGL_RGB8_BIT = $00000001; +{ 8-8 argb bit/pixel, A=7:0, RGB=7:0, inverse colormap } + AGL_RGB8_A8_BIT = $00000002; +{ 8 rgb bit/pixel, B=7:6, G=5:3, R=2:0 } + AGL_BGR233_BIT = $00000004; +{ 8-8 argb bit/pixel, A=7:0, B=7:6, G=5:3, R=2:0 } + AGL_BGR233_A8_BIT = $00000008; +{ 8 rgb bit/pixel, R=7:5, G=4:2, B=1:0 } + AGL_RGB332_BIT = $00000010; +{ 8-8 argb bit/pixel, A=7:0, R=7:5, G=4:2, B=1:0 } + AGL_RGB332_A8_BIT = $00000020; +{ 16 rgb bit/pixel, R=11:8, G=7:4, B=3:0 } + AGL_RGB444_BIT = $00000040; +{ 16 argb bit/pixel, A=15:12, R=11:8, G=7:4, B=3:0 } + AGL_ARGB4444_BIT = $00000080; +{ 8-16 argb bit/pixel, A=7:0, R=11:8, G=7:4, B=3:0 } + AGL_RGB444_A8_BIT = $00000100; +{ 16 rgb bit/pixel, R=14:10, G=9:5, B=4:0 } + AGL_RGB555_BIT = $00000200; +{ 16 argb bit/pixel, A=15, R=14:10, G=9:5, B=4:0 } + AGL_ARGB1555_BIT = $00000400; +{ 8-16 argb bit/pixel, A=7:0, R=14:10, G=9:5, B=4:0 } + AGL_RGB555_A8_BIT = $00000800; +{ 16 rgb bit/pixel, R=15:11, G=10:5, B=4:0 } + AGL_RGB565_BIT = $00001000; +{ 8-16 argb bit/pixel, A=7:0, R=15:11, G=10:5, B=4:0 } + AGL_RGB565_A8_BIT = $00002000; +{ 32 rgb bit/pixel, R=23:16, G=15:8, B=7:0 } + AGL_RGB888_BIT = $00004000; +{ 32 argb bit/pixel, A=31:24, R=23:16, G=15:8, B=7:0 } + AGL_ARGB8888_BIT = $00008000; +{ 8-32 argb bit/pixel, A=7:0, R=23:16, G=15:8, B=7:0 } + AGL_RGB888_A8_BIT = $00010000; +{ 32 rgb bit/pixel, R=29:20, G=19:10, B=9:0 } + AGL_RGB101010_BIT = $00020000; +{ 32 argb bit/pixel, A=31:30 R=29:20, G=19:10, B=9:0 } + AGL_ARGB2101010_BIT = $00040000; +{ 8-32 argb bit/pixel, A=7:0 R=29:20, G=19:10, B=9:0 } + AGL_RGB101010_A8_BIT = $00080000; +{ 48 rgb bit/pixel, R=35:24, G=23:12, B=11:0 } + AGL_RGB121212_BIT = $00100000; +{ 48 argb bit/pixel, A=47:36, R=35:24, G=23:12, B=11:0 } + AGL_ARGB12121212_BIT = $00200000; +{ 64 rgb bit/pixel, R=47:32, G=31:16, B=15:0 } + AGL_RGB161616_BIT = $00400000; +{ 64 argb bit/pixel, A=63:48, R=47:32, G=31:16, B=15:0 } + AGL_ARGB16161616_BIT = $00800000; +{ 8 bit color look up table (deprecated) } + AGL_INDEX8_BIT = $20000000; +{ 16 bit color look up table (deprecated) } + AGL_INDEX16_BIT = $40000000; +{ 64 rgb bit/pixel, half float } + AGL_RGBFLOAT64_BIT = $01000000; +{ 64 argb bit/pixel, half float } + AGL_RGBAFLOAT64_BIT = $02000000; +{ 128 rgb bit/pixel, ieee float } + AGL_RGBFLOAT128_BIT = $04000000; +{ 128 argb bit/pixel, ieee float } + AGL_RGBAFLOAT128_BIT = $08000000; +{ 256 rgb bit/pixel, ieee double } + AGL_RGBFLOAT256_BIT = $10000000; +{ 256 argb bit/pixel, ieee double } + AGL_RGBAFLOAT256_BIT = $20000000; +{ +** Error return values from aglGetError. + } +{ no error } + AGL_NO_ERROR = 0; +{ invalid pixel format attribute } + AGL_BAD_ATTRIBUTE = 10000; +{ invalid renderer property } + AGL_BAD_PROPERTY = 10001; +{ invalid pixel format } + AGL_BAD_PIXELFMT = 10002; +{ invalid renderer info } + AGL_BAD_RENDINFO = 10003; +{ invalid context } + AGL_BAD_CONTEXT = 10004; +{ invalid drawable } + AGL_BAD_DRAWABLE = 10005; +{ invalid graphics device } + AGL_BAD_GDEV = 10006; +{ invalid context state } + AGL_BAD_STATE = 10007; +{ invalid numerical value } + AGL_BAD_VALUE = 10008; +{ invalid share context } + AGL_BAD_MATCH = 10009; +{ invalid enumerant } + AGL_BAD_ENUM = 10010; +{ invalid offscreen drawable } + AGL_BAD_OFFSCREEN = 10011; +{ invalid offscreen drawable } + AGL_BAD_FULLSCREEN = 10012; +{ invalid window } + AGL_BAD_WINDOW = 10013; +{ invalid pointer } + AGL_BAD_POINTER = 10014; +{ invalid code module } + AGL_BAD_MODULE = 10015; +{ memory allocation failure } + AGL_BAD_ALLOC = 10016; +{ invalid CoreGraphics connection } + AGL_BAD_CONNECTION = 10017; +{********************************************************************** } +{ +** Pixel format functions + } +(* Const before type ignored *) +(* Const before type ignored *) + +function aglChoosePixelFormat(gdevs:PAGLDevice; ndev:GLint; attribs:PGLint):TAGLPixelFormat;cdecl;external; + +procedure aglDestroyPixelFormat(pix:TAGLPixelFormat);cdecl;external; + +function aglNextPixelFormat(pix:TAGLPixelFormat):TAGLPixelFormat;cdecl;external; + +function aglDescribePixelFormat(pix:TAGLPixelFormat; attrib:GLint; value:PGLint):GLboolean;cdecl;external; + +function aglDevicesOfPixelFormat(pix:TAGLPixelFormat; ndevs:PGLint):PAGLDevice;cdecl;external; + +{ +** Renderer information functions + } +(* Const before type ignored *) +function aglQueryRendererInfo(gdevs:PAGLDevice; ndev:GLint):TAGLRendererInfo;cdecl;external; + +procedure aglDestroyRendererInfo(rend:TAGLRendererInfo);cdecl;external; + +function aglNextRendererInfo(rend:TAGLRendererInfo):TAGLRendererInfo;cdecl;external; + +function aglDescribeRenderer(rend:TAGLRendererInfo; prop:GLint; value:PGLint):GLboolean;cdecl;external; + +{ +** Context functions + } +function aglCreateContext(pix:TAGLPixelFormat; share:TAGLContext):TAGLContext;cdecl;external; + +function aglDestroyContext(ctx:TAGLContext):GLboolean;cdecl;external; + +function aglCopyContext(src:TAGLContext; dst:TAGLContext; mask:GLuint):GLboolean;cdecl;external; + +function aglUpdateContext(ctx:TAGLContext):GLboolean;cdecl;external; + +{ +** Current state functions + } +function aglSetCurrentContext(ctx:TAGLContext):GLboolean;cdecl;external; + +function aglGetCurrentContext:TAGLContext;cdecl;external; + +{ +** Drawable Functions + } +function aglSetDrawable(ctx:TAGLContext; draw:TAGLDrawable):GLboolean;cdecl;external; + +function aglSetOffScreen(ctx:TAGLContext; width:GLsizei; height:GLsizei; rowbytes:GLsizei; baseaddr:PGLvoid):GLboolean;cdecl;external; + +function aglSetFullScreen(ctx:TAGLContext; width:GLsizei; height:GLsizei; freq:GLsizei; device:GLint):GLboolean;cdecl;external; + +function aglGetDrawable(ctx:TAGLContext):TAGLDrawable;cdecl;external; + +{ +** Virtual screen functions + } +function aglSetVirtualScreen(ctx:TAGLContext; screen:GLint):GLboolean;cdecl;external; + +function aglGetVirtualScreen(ctx:TAGLContext):GLint;cdecl;external; + +{ +** Obtain version numbers + } +procedure aglGetVersion(major:PGLint; minor:PGLint);cdecl;external; + +{ +** Global library options + } +function aglConfigure(pname:GLenum; param:GLuint):GLboolean;cdecl;external; + +{ +** Swap functions + } +procedure aglSwapBuffers(ctx:TAGLContext);cdecl;external; + +{ +** Per context options + } +function aglEnable(ctx:TAGLContext; pname:GLenum):GLboolean;cdecl;external; + +function aglDisable(ctx:TAGLContext; pname:GLenum):GLboolean;cdecl;external; + +function aglIsEnabled(ctx:TAGLContext; pname:GLenum):GLboolean;cdecl;external; + +(* Const before type ignored *) +function aglSetInteger(ctx:TAGLContext; pname:GLenum; params:PGLint):GLboolean;cdecl;external; + +function aglGetInteger(ctx:TAGLContext; pname:GLenum; params:PGLint):GLboolean;cdecl;external; + +{ +** Font function + } +type + _AGLStyle = 0..255; +function aglUseFont(ctx:TAGLContext; fontID:GLint; face:_AGLStyle; size:GLint; first:GLint; + count:GLint; base:GLint):GLboolean;cdecl;external; + +{ +** Error functions + } +function aglGetError:GLenum;cdecl;external; + +(* Const before type ignored *) +function aglErrorString(code:GLenum):PGLubyte;cdecl;external; + +{ +** Soft reset function + } +procedure aglResetLibrary;cdecl;external; + +{ +** Surface texture function + } +procedure aglSurfaceTexture(context:TAGLContext; target:GLenum; internalformat:GLenum; surfacecontext:TAGLContext);cdecl;external; + +{ +** PBuffer functions + } +function aglCreatePBuffer(width:GLint; height:GLint; target:GLenum; internalFormat:GLenum; max_level:longint; + pbuffer:PAGLPbuffer):GLboolean;cdecl;external; + +function aglDestroyPBuffer(pbuffer:TAGLPbuffer):GLboolean;cdecl;external; + +function aglDescribePBuffer(pbuffer:TAGLPbuffer; width:PGLint; height:PGLint; target:PGLenum; internalFormat:PGLenum; + max_level:PGLint):GLboolean;cdecl;external; + +function aglTexImagePBuffer(ctx:TAGLContext; pbuffer:TAGLPbuffer; source:GLint):GLboolean;cdecl;external; + +{ +** Pbuffer Drawable Functions + } +function aglSetPBuffer(ctx:TAGLContext; pbuffer:TAGLPbuffer; face:GLint; level:GLint; screen:GLint):GLboolean;cdecl;external; + +function aglGetPBuffer(ctx:TAGLContext; pbuffer:PAGLPbuffer; face:PGLint; level:PGLint; screen:PGLint):GLboolean;cdecl;external; + +{ +** CGL functions + } +function aglGetCGLContext(ctx:TAGLContext; cgl_ctx:Ppointer):GLboolean;cdecl;external; + +function aglGetCGLPixelFormat(pix:TAGLPixelFormat; cgl_pix:Ppointer):GLboolean;cdecl;external; + +implementation + +end. diff --git a/lcl/interfaces/cocoa/alllclintfunits.pas b/lcl/interfaces/cocoa/alllclintfunits.pas index bca13818df..716456d424 100644 --- a/lcl/interfaces/cocoa/alllclintfunits.pas +++ b/lcl/interfaces/cocoa/alllclintfunits.pas @@ -2,18 +2,26 @@ unit AllLCLIntfUnits; interface uses - cocoawsfactory, - cocoawsmenus, - cocoaprivate, - cocoawsstdctrls, - interfaces, - cocoautils, - cocoawsextctrls, - cocoagdiobjects, - cocoawsforms, - cocoaint, - cocoawscommon, - cocoawscomctrls, - cocoawsdialogs; + agl{%H-}, + cocoa_extra{%H-}, + cocoacaret{%H-}, + cocoagdiobjects{%H-}, + cocoaint{%H-}, + cocoaprivate{%H-}, + cocoaproc{%H-}, + cocoathemes{%H-}, + cocoautils{%H-}, + cocoawsbuttons{%H-}, + cocoawschecklst{%H-}, + cocoawscomctrls{%H-}, + cocoawscommon{%H-}, + cocoawsdialogs{%H-}, + cocoawsextctrls{%H-}, + cocoawsfactory{%H-}, + cocoawsforms{%H-}, + cocoawsmenus{%H-}, + cocoawsspin{%H-}, + cocoawsstdctrls{%H-}, + interfaces{%H-}; implementation end. diff --git a/lcl/interfaces/fpgui/alllclintfunits.pas b/lcl/interfaces/fpgui/alllclintfunits.pas index 63066068e8..ddcf206bda 100644 --- a/lcl/interfaces/fpgui/alllclintfunits.pas +++ b/lcl/interfaces/fpgui/alllclintfunits.pas @@ -2,24 +2,24 @@ unit AllLCLIntfUnits; interface uses - fpguiwsdialogs, - fpguiwscomctrls, - fpguiwspairsplitter, - fpguiwsstdctrls, - interfaces, - fpguiwsextdlgs, - fpguiwscontrols, - fpguiwsforms, - fpguiwsbuttons, - fpguiobjects, - fpguiwsfactory, - fpguiproc, - fpguiwsextctrls, - fpguiwsprivate, - fpguiint, - fpguiwsgrids, - fpguiwsimglist, - //fpguiwscalendar, - fpguiwsmenus; + fpguiint{%H-}, + fpguiobjects{%H-}, + fpguiproc{%H-}, + fpguiwsbuttons{%H-}, + fpguiwscalendar{%H-}, + fpguiwscomctrls{%H-}, + fpguiwscontrols{%H-}, + fpguiwsdialogs{%H-}, + fpguiwsextctrls{%H-}, + fpguiwsextdlgs{%H-}, + fpguiwsfactory{%H-}, + fpguiwsforms{%H-}, + fpguiwsgrids{%H-}, + fpguiwsimglist{%H-}, + fpguiwsmenus{%H-}, + fpguiwspairsplitter{%H-}, + fpguiwsprivate{%H-}, + fpguiwsstdctrls{%H-}, + interfaces{%H-}; implementation end. diff --git a/lcl/interfaces/gtk/alllclintfunits.pas b/lcl/interfaces/gtk/alllclintfunits.pas index 093250d869..f31f1b11a9 100644 --- a/lcl/interfaces/gtk/alllclintfunits.pas +++ b/lcl/interfaces/gtk/alllclintfunits.pas @@ -2,36 +2,36 @@ unit AllLCLIntfUnits; interface uses - gtkwscontrols, - gtkwspairsplitter, - gtkwschecklst, - gtkwsprivate, - gtkwsextctrls, - gtkwsgrids, - gtkint, - gtkwinapiwindow, - interfaces, - gtkwsstdctrls, - gtkwsfactory, - gtk1wsprivate, - gtkwsmenus, - gtkmsgqueue, - gtkwsextdlgs, - gtkglobals, - gtk1int, - gtkwsbuttons, - gtkwsdialogs, - gtkfontcache, - gtkwsimglist, - gtkthemes, - gtkwsspin, - gtk1def, - gtkproc, - gtkwscomctrls, - gtkwscalendar, - gtkdef, - gtkdebug, - gtkextra, - gtkwsforms; + gtk1def{%H-}, + gtk1int{%H-}, + gtk1wsprivate{%H-}, + gtkdebug{%H-}, + gtkdef{%H-}, + gtkextra{%H-}, + gtkfontcache{%H-}, + gtkglobals{%H-}, + gtkint{%H-}, + gtkmsgqueue{%H-}, + gtkproc{%H-}, + gtkthemes{%H-}, + gtkwinapiwindow{%H-}, + gtkwsbuttons{%H-}, + gtkwscalendar{%H-}, + gtkwschecklst{%H-}, + gtkwscomctrls{%H-}, + gtkwscontrols{%H-}, + gtkwsdialogs{%H-}, + gtkwsextctrls{%H-}, + gtkwsextdlgs{%H-}, + gtkwsfactory{%H-}, + gtkwsforms{%H-}, + gtkwsgrids{%H-}, + gtkwsimglist{%H-}, + gtkwsmenus{%H-}, + gtkwspairsplitter{%H-}, + gtkwsprivate{%H-}, + gtkwsspin{%H-}, + gtkwsstdctrls{%H-}, + interfaces{%H-}; implementation end. diff --git a/lcl/interfaces/gtk2/alllclintfunits.pas b/lcl/interfaces/gtk2/alllclintfunits.pas index 188dc8bf45..2f9fc9dcf6 100644 --- a/lcl/interfaces/gtk2/alllclintfunits.pas +++ b/lcl/interfaces/gtk2/alllclintfunits.pas @@ -2,35 +2,38 @@ unit AllLCLIntfUnits; interface uses - {%H-}gtk2cellrenderer{%H-}, - {%H-}gtk2debug{%H-}, - {%H-}gtk2def{%H-}, - {%H-}gtk2extra{%H-}, - {%H-}gtk2fontcache{%H-}, - {%H-}gtk2globals{%H-}, - {%H-}gtk2int{%H-}, - {%H-}gtk2listviewtreemodel{%H-}, - {%H-}gtk2msgqueue{%H-}, - {%H-}gtk2proc{%H-}, - {%H-}gtk2themes{%H-}, - {%H-}gtk2winapiwindow{%H-}, - {%H-}gtk2wsbuttons{%H-}, - {%H-}gtk2wscalendar{%H-}, - {%H-}gtk2wschecklst{%H-}, - {%H-}gtk2wscomctrls{%H-}, - {%H-}gtk2wscontrols{%H-}, - {%H-}gtk2wsdialogs{%H-}, - {%H-}gtk2wsextctrls{%H-}, - {%H-}gtk2wsextdlgs{%H-}, - {%H-}gtk2wsfactory{%H-}, - {%H-}gtk2wsforms{%H-}, - {%H-}gtk2wsgrids{%H-}, - {%H-}gtk2wsimglist{%H-}, - {%H-}gtk2wsmenus{%H-}, - {%H-}gtk2wspairsplitter{%H-}, - {%H-}gtk2wsprivate{%H-}, - {%H-}gtk2wsspin{%H-}, - {%H-}gtk2wsstdctrls{%H-}, - interfaces; + gtk2cellrenderer{%H-}, + gtk2debug{%H-}, + gtk2def{%H-}, + gtk2disableliboverlay{%H-}, + gtk2extra{%H-}, + gtk2fontcache{%H-}, + gtk2globals{%H-}, + gtk2int{%H-}, + gtk2listviewtreemodel{%H-}, + gtk2msgqueue{%H-}, + gtk2proc{%H-}, + gtk2themes{%H-}, + gtk2winapiwindow{%H-}, + gtk2windows{%H-}, + gtk2wsbuttons{%H-}, + gtk2wscalendar{%H-}, + gtk2wschecklst{%H-}, + gtk2wscomctrls{%H-}, + gtk2wscontrols{%H-}, + gtk2wsdialogs{%H-}, + gtk2wsextctrls{%H-}, + gtk2wsextdlgs{%H-}, + gtk2wsfactory{%H-}, + gtk2wsforms{%H-}, + gtk2wsgrids{%H-}, + gtk2wsimglist{%H-}, + gtk2wsmenus{%H-}, + gtk2wspairsplitter{%H-}, + gtk2wsprivate{%H-}, + gtk2wsspin{%H-}, + gtk2wsstdctrls{%H-}, + interfaces{%H-}, + unitywsctrls{%H-}; implementation end. diff --git a/lcl/interfaces/nogui/alllclintfunits.pas b/lcl/interfaces/nogui/alllclintfunits.pas index 35db8ea639..51a5e3aa03 100644 --- a/lcl/interfaces/nogui/alllclintfunits.pas +++ b/lcl/interfaces/nogui/alllclintfunits.pas @@ -2,8 +2,8 @@ unit AllLCLIntfUnits; interface uses - interfaces, - {%H-}noguiint{%H-}, - {%H-}noguiwsfactory{%H-}; + interfaces{%H-}, + noguiint{%H-}, + noguiwsfactory{%H-}; implementation end. diff --git a/lcl/interfaces/qt/alllclintfunits.pas b/lcl/interfaces/qt/alllclintfunits.pas index 8f30150064..641a0a14e2 100644 --- a/lcl/interfaces/qt/alllclintfunits.pas +++ b/lcl/interfaces/qt/alllclintfunits.pas @@ -2,30 +2,33 @@ unit AllLCLIntfUnits; interface uses - qtproc{%H-}, - qtwscontrols{%H-}, - qtwsgrids{%H-}, - qtprivate{%H-}, - qtwsdesigner{%H-}, - qtwsspin{%H-}, - qtwidgets{%H-}, - qtcaret{%H-}, - qtthemes{%H-}, - qtwsextdlgs{%H-}, interfaces{%H-}, - qtwsforms{%H-}, - qtwsbuttons{%H-}, - qtwsextctrls{%H-}, + qt4{%H-}, + qt45{%H-}, + qtcaret{%H-}, qtint{%H-}, - qtwspairsplitter{%H-}, - qtwsfactory{%H-}, + qtobjects{%H-}, + qtprivate{%H-}, + qtproc{%H-}, + qtsystemtrayicon{%H-}, + qtthemes{%H-}, + qtwidgets{%H-}, + qtwsbuttons{%H-}, + qtwscalendar{%H-}, + qtwschecklst{%H-}, qtwscomctrls{%H-}, + qtwscontrols{%H-}, + qtwsdesigner{%H-}, + qtwsdialogs{%H-}, + qtwsextctrls{%H-}, + qtwsextdlgs{%H-}, + qtwsfactory{%H-}, + qtwsforms{%H-}, + qtwsgrids{%H-}, qtwsimglist{%H-}, qtwsmenus{%H-}, - qtwscalendar{%H-}, - qtwsdialogs{%H-}, - qtobjects{%H-}, - qtwschecklst{%H-}, + qtwspairsplitter{%H-}, + qtwsspin{%H-}, qtwsstdctrls{%H-}; implementation end. diff --git a/lcl/interfaces/win32/alllclintfunits.pas b/lcl/interfaces/win32/alllclintfunits.pas index b177bdc0e9..a49a98f1de 100644 --- a/lcl/interfaces/win32/alllclintfunits.pas +++ b/lcl/interfaces/win32/alllclintfunits.pas @@ -1,31 +1,30 @@ { This unit was automatically created by update_allunits } unit AllLCLIntfUnits; -{$HINTS OFF} interface uses - win32wsdialogs, - win32extra, - win32wsextdlgs, - win32wschecklst, - win32wsstdctrls, - win32wscalendar, - win32def, - win32wstoolwin, - interfaces, - win32proc, - win32wspairsplitter, - win32themes, - win32wsmenus, - win32debug, - win32wscontrols, - win32wsfactory, - win32wsextctrls, - win32wscomctrls, - win32wsgrids, - win32wsimglist, - win32int, - win32wsspin, - win32wsbuttons, - win32wsforms; + interfaces{%H-}, + win32debug{%H-}, + win32def{%H-}, + win32extra{%H-}, + win32int{%H-}, + win32proc{%H-}, + win32themes{%H-}, + win32wsbuttons{%H-}, + win32wscalendar{%H-}, + win32wschecklst{%H-}, + win32wscomctrls{%H-}, + win32wscontrols{%H-}, + win32wsdialogs{%H-}, + win32wsextctrls{%H-}, + win32wsextdlgs{%H-}, + win32wsfactory{%H-}, + win32wsforms{%H-}, + win32wsgrids{%H-}, + win32wsimglist{%H-}, + win32wsmenus{%H-}, + win32wspairsplitter{%H-}, + win32wsspin{%H-}, + win32wsstdctrls{%H-}, + win32wstoolwin{%H-}; implementation end. diff --git a/lcl/update_allunits.lpi b/lcl/update_allunits.lpi index 6584d9f605..c76171a0e6 100644 --- a/lcl/update_allunits.lpi +++ b/lcl/update_allunits.lpi @@ -1,4 +1,4 @@ - + @@ -15,9 +15,9 @@ - - - + + + @@ -33,12 +33,11 @@ - - + @@ -46,12 +45,6 @@ - - - - - -