MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
Inheritance diagram for TSLGLXSurface:

Detailed Description

Platform interface class for X11 systems for the OpenGL drawing surface, using X11 and GLX.

This drawing surface requires graphics hardware that is OpenGL 2.1 compliant. OpenGL 3.2 or newer compliant hardware is recommended.

For OpenGL 2.1 hardware support for the following extension is required:

  • GL_EXT_framebuffer_object

Hardware with support for the following OpenGL extensions is recommended, but not required. For OpenGL 3.2 or newer hardware:

  • GL_EXT_direct_state_access
  • For OpenGL 3.1 or older hardware:
  • GL_NV_primitive_restart

This drawing surface cannot be attached to a pixmap unless the graphics driver supports hardware accelerating rendering to pixmaps. The drawing surface will fail to attach if the driver does not support this.

Non-Native Rendering

Non-native rendering for this drawing surface is implemented through a pixmap. During the draw of a non-native layer (identified by the TSLProperty NonNativeDrawing data layer property), the handleToDrawable and handleTo X11DrawingParameters methods of TSLRenderingInterface will return a pixmap and visual that the application should draw into for the layer, which the drawing surface will then composite onto the framebuffer.

The drawable returned from the rendering interface will be different for each non-native layer in the drawing surface, and the visual returned may be different from that used when creating the drawing surface.

The drawing surface assumes that draws to the pixmap set the alpha channel of any pixels written to correctly. When using Xlib colours with a true colour visual this can be done by setting any bits of the pixel colour not covered by the red_mask, green_mask and blue_mask bits of the XVisualInfo struct for the visual to 1.

Support for the GLX_EXT_texture_from_pixmap extension is required for non-native rendering.

Public Member Functions

 TSLGLXSurface (Display *display, Screen *screen, Window drawable, Visual *visual, const TSLOpenGLSurfaceCreationParameters &creationProperties)
 
 TSLGLXSurface (Display *display, Screen *screen, GLXDrawable drawable, GLXContext context, const TSLOpenGLSurfaceCreationParameters &creationProperties, Drawable nativeDrawable=0)
 
virtual ~TSLGLXSurface ()
 
bool attach (Display *display, Screen *screen, GLXDrawable drawable, GLXContext context, Drawable nativeDrawable=0)
 
GLXContext context ()
 
bool makeContextCurrent ()
 
virtual TSLOpenGLSurfacecaw ()
 
- Public Member Functions inherited from TSLOpenGLSurface
virtual ~TSLOpenGLSurface ()
 
float acquireDepthSlice ()
 
virtual TSLDrawingSurfaceclone (bool copyUserData=false)
 
double coordinateCentreX () const
 
double coordinateCentreY () const
 
TSLOpenGLSurfacecreateChildSurface ()
 
float currentDepthSlice () const
 
float depthSliceIncrement () const
 
void flushPendingDraws ()
 
void enableRealtimeReprojection (const char *name, bool enable)
 
double getSwitchRangeForFP64 () const
 
bool getLayerStorageStrategy (const char *layerName, TSLOpenGLStorageStrategyEnum &strategy) const
 
bool getLayerTransparencyHint (const char *layerName, TSLOpenGLTransparencyHintEnum &hint) const
 
float incrementDepthSlice (uint32_t numDrawItems)
 
const float * modelViewMatrix () const
 
const float * projectionMatrix () const
 
bool setAntialiasingMode (TSLOpenGLAntialiasModeEnum mode)
 
bool targetFrameBuffer (GLuint fbo)
 
GLuint targetFrameBuffer () const
 
float setDepthSlice (uint32_t numDrawItems)
 
bool setDisplayMetrics (double dpiX, double dpiY, int horizontalSizePixels, int verticalSizePixels)
 
void setSwitchRangeForFP64 (double range)
 
bool setLayerStorageStrategy (const char *layerName, TSLOpenGLStorageStrategyEnum strategy)
 
bool setLayerTransparencyHint (const char *layerName, TSLOpenGLTransparencyHintEnum hint)
 
void setRGBABackgroundColour (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
TSLOpenGLStateTrackerstateTracker ()
 
void shaderPreloadEnabled (bool enabled)
 
bool shaderPreloadEnabled () const
 
bool preloadProjectionShaders (const TSLCoordinateSystem *cs, bool loadfp64Variant)
 
void flushLoadedShaders ()
 
void rasterProjectionControlPointParameters (unsigned int minPointsPerRaster, unsigned int maxPointsPerRaster, unsigned int gridSizePixels)
 
void textRoundingEnabled (bool enabled)
 
bool textRoundingEnabled () const
 
void textRoundingAmount (unsigned int px)
 
unsigned int textRoundingAmount () const
 
- Public Member Functions inherited from TSLDrawingSurface
bool clearAllRendering ()
 
bool clearDynamicColours ()
 
TSLRasterBuffercreateRasterBuffer (unsigned int width, unsigned int height, TSLRasterBuffer::Format format, TSLRasterBuffer::FilterMode filterMode=TSLRasterBuffer::Linear)
 
bool declutterIsVisible (const char *feature_name, double resolution=0.0, const char *layer_name=0) const
 
bool drawDU (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2, bool clear, bool updateExtentOnly=false)
 
bool drawUU (double x1, double y1, double x2, double y2, bool clear, bool updateExtentOnly=false)
 
bool DUToLatLong (TSLDeviceUnits x, TSLDeviceUnits y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool DUToMU (TSLDeviceUnits x1, TSLDeviceUnits y1, double *x2, double *y2) const
 
bool DUToTMC (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLTMC *x2, TSLTMC *y2) const
 
bool DUToUU (TSLDeviceUnits x1, TSLDeviceUnits y1, double *x2, double *y2) const
 
TSLEntityfindEntityDU (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth, const char *feature_name=NULL)
 
TSLEntityfindEntityUU (double x, double y, double aperture, int depth, const char *feature_name=NULL)
 
TSLEntityfindSelectedEntityDU (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth=-1, bool ignoreMapDataLayers=false)
 
TSLEntityfindSelectedEntityUU (double x, double y, double aperture, int depth=-1, bool ignoreMapDataLayers=false)
 
bool getColourIndices (int **indices, int *num)
 
TSLDataLayergetCoordinateProvidingLayer ()
 
const TSLDataLayergetCoordinateProvidingLayer () const
 
bool getDeclutterRange (const char *featureName, double *innerLimit, double *outerLimit, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool getDeviceCapabilities (int &horizontalSizeMM, int &verticalSizeMM, int &horizontalSizePixels, int &verticalSizePixels) const
 
bool getDeviceCapabilities (TSLDeviceCapabilities &capabilities) const
 
void getDUExtent (TSLDeviceUnits *x1, TSLDeviceUnits *y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool getFillStyleIndices (int **indices, int *num)
 
bool getFontStyleIndices (int **indices, int *num)
 
bool getLineStyleIndices (int **indices, int *num)
 
void getMUExtent (double *x1, double *y1, double *x2, double *y2) const
 
bool getSymbolStyleIndices (int **indices, int *num)
 
TSLDrawingSurfaceTiledBufferControlgetTiledBufferController ()
 
void getTMCExtent (TSLEnvelope &extent) const
 
void getUUExtent (double *x1, double *y1, double *x2, double *y2) const
 
bool getViewedLatLongRange (double *latitude, double *longitude, double *range, bool local=false, bool boundCheck=true) const
 
bool latLongToDU (double latitude, double longitude, TSLDeviceUnits *x, TSLDeviceUnits *y, bool local=false) const
 
bool latLongToMU (double latitude, double longitude, double *x, double *y, bool local=false) const
 
bool latLongToTMC (double latitude, double longitude, TSLTMC *x, TSLTMC *y, bool local=false) const
 
bool latLongToUU (double latitude, double longitude, double *x, double *y, bool local=false) const
 
bool MUToDU (double x1, double y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool MUToLatLong (double x, double y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool MUToTMC (double x1, double y1, TSLTMC *x2, TSLTMC *y2) const
 
bool MUToUU (double x1, double y1, double *x2, double *y2) const
 
bool pan (double x1, double y1, bool auto_redraw=true)
 
bool pan (double x1, double y1, TSLDeviceUnits xDU, TSLDeviceUnits yDU, bool auto_redraw=true)
 
TSLMapQueryquery (const char *layerName, TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, int depth=-1, const char *feature_name=NULL) const
 
TSLMapQueryquery (const char *layerName, TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, TSLSelector *selector) const
 
bool redraw ()
 
bool reset (bool auto_redraw=true)
 
bool resize (double x1, double y1, double x2, double y2, bool auto_redraw=true, bool keep_aspect=false)
 
bool rotate (double angle)
 
double rotation () const
 
bool setDeclutterRange (const char *featureName, double innerLimit, double outerLimit, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeviceCapabilities (const int horizontalSizeMM=0, const int verticalSizeMM=0, const int horizontalSizePixels=0, const int verticalSizePixels=0)
 
bool setDeviceCapabilities (const TSLDeviceCapabilities &capabilities)
 
void setRedrawCallback (TSLDrawingSurfaceDrawCallback *callback)
 
bool setupDynamicColours (const char *filename)
 
bool setViewedLatLongRange (double latitude, double longitude, double range, bool local=false, bool auto_redraw=true, bool keep_aspect=false)
 
void TMCperDU (double &xr, double &yr)
 
double TMCperUU ()
 
bool TMCToDU (TSLTMC x1, TSLTMC y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool TMCToLatLong (TSLTMC x, TSLTMC y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool TMCToMU (TSLTMC x1, TSLTMC y1, double *x2, double *y2) const
 
bool TMCToUU (TSLTMC x1, TSLTMC y1, double *x2, double *y2) const
 
bool updateEntityExtent (TSLEntity *entity, const char *layerName)
 
void userUnitOrigin (double x_origin, double y_origin)
 
void userUnitOrigin (TSLUUEnum origin_enum)
 
void userUnits (double factor)
 
double userUnits ()
 
bool UUToDU (double x1, double y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool UUToLatLong (double x, double y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool UUToMU (double x1, double y1, double *x2, double *y2) const
 
bool UUToTMC (double x1, double y1, TSLTMC *x2, TSLTMC *y2) const
 
bool wndResize (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2, bool auto_redraw=true, TSLResizeActionEnum action=TSLResizeActionNone)
 
bool zoom (double percent, bool zoom_in, bool auto_redraw=true)
 
 TSLDrawingSurface ()
 
virtual ~TSLDrawingSurface ()
 
void clearSymbolList ()
 
void clearFontList ()
 
void clearLineList ()
 
void clearFillList ()
 
bool removeFillStyle (TSLStyleID style)
 
bool removeLineStyle (TSLStyleID style)
 
bool removeSymbolStyle (TSLStyleID style)
 
bool removeFontStyle (TSLStyleID style)
 
TSLStyleID createFontID (const TSLSimpleString &name, TSLFontType meaningOfName, int fontWeight, bool italic=false, bool underline=false, bool antiAliased=false, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createStandardLineID (const unsigned char *pattern, TSLSize patternLength, int initialOffset, TSLLineScalingType scaleType)
 
TSLStyleID createSymbolLineID (int symbolID, double size=0.0, TSLDimensionUnits sizeUnits=TSLDimensionUnitsUndefined, float rotation=0.0f, double anchorPointX=0.0, double anchorPointY=0.0, TSLDimensionUnits anchorPointUnits=TSLDimensionUnitsUndefined)
 
TSLStyleID createStandardFillID (const unsigned char *pattern=NULL, TSLSize patternSizeInBytes=0, int patternXSize=0, int patternYSize=0)
 
TSLStyleID createSymbolFillID (int symbolID, double size=0.0, TSLDimensionUnits sizeUnits=TSLDimensionUnitsUndefined, float rotation=0.0f, double anchorPointX=0.0, double anchorPointY=0.0, TSLDimensionUnits anchorPointUnits=TSLDimensionUnitsUndefined)
 
TSLStyleID createSVGSymbolID (const TSLSimpleString &name, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createFontSymbolID (const TSLSimpleString &name, TSLFontType meaningOfName, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createRasterSymbolID (const TSLSimpleString &name, int xorigin, int yorigin, bool scaleable, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createSymbolIDFromSymbol (TSLStyleID symbolID, int numberofColourPairs, const int *colourFrom, const int *colourTo)
 
- Public Member Functions inherited from TSLDrawingSurfaceBase
bool addDataLayer (TSLDataLayer *data_layer_interface, const char *data_id)
 
bool addDynamicRenderer (TSLDynamicRenderer *renderer, TSLFeatureID featureID=-1, const char *layerName=0)
 
bool addFeatureRendering (const char *featureName, TSLFeatureID featureID)
 
void attach (TSLDeviceContext handle)
 
void attach (TSLWindowHandle handle)
 
void attach (TSLDrawableHandle handle)
 
bool bringInFrontof (const char *move_data_layer, const char *target_data_layer)
 
bool bringToFront (const char *move_data_layer)
 
bool clearAllDeclutterData (const char *layer_name=0)
 
void clearAllDynamicRenderers ()
 
bool clearBackgroundColour ()
 
bool clearDeclutterData (const char *feature_name, const char *layer_name=0)
 
bool clearDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
bool clearFeatureRendering (const char *featureName, TSLFeatureID featureID)
 
bool clearFrame ()
 
bool copyDeclutterData (const char *src_feature_name, const char *dest_feature_name, const char *src_layer_name=0, const char *dest_layer_name=0)
 
void detach ()
 
void detachAllDynamicRenderers ()
 
bool detachDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
const char * featureClass (TSLFeatureID feature_id)
 
bool forceLayer (const char *data_id, const char *detail_layer_name)
 
bool getBackgroundColour (TSLStyleID *value)
 
bool getColourValue (int colour, unsigned char &r, unsigned char &g, unsigned char &b)
 
TSLDataLayergetDataLayer (const char *data_id)
 
bool getDataLayerInfo (int N, TSLDataLayer **dataLayer, const char **layerName) const
 
bool getDataLayerProps (const char *data_id, TSLPropertyEnum property_id, TSLPropertyValue *old_value)
 
bool getDeclutterStatus (const char *feature_name, TSLDeclutterStatusResultEnum *value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool getDeclutterStatus (TSLFeatureID feature_id, TSLDeclutterStatusResultEnum *value, const char *dataLayerName, const char *detailLayerName=0)
 
TSLDynamicRenderergetDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *result) const
 
int getNumDataLayers () const
 
bool getOption (TSLOptionEnum option)
 
void id (int id_)
 
int id () const
 
bool idleProcess ()
 
bool loadDeclutter (const char *filename)
 
bool loadRendering (const char *filename)
 
TSLPickResultSetpick (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth, TSLPickSelector *selector=0)
 
TSLPickResultSetpick (const char *data_id, TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth=-1, TSLPickSelector *selector=0)
 
bool queryActiveLayer (const char *data_id, char *detail_layer_name, int detail_layer_name_size)
 
bool removeDataLayer (const char *data_id)
 
bool saveDeclutter (const char *filename, TSLMapLinkVersion ver=TSL_CURRENT_MAPLINK_VERSION)
 
bool saveRendering (const char *filename, TSLMapLinkVersion ver=TSL_CURRENT_MAPLINK_VERSION)
 
bool sendToBack (const char *move_data_layer)
 
bool sendToBackOf (const char *move_data_layer, const char *target_data_layer)
 
bool setBackgroundColour (int value)
 
bool setCoordinateProvidingLayer (const char *layer_name)
 
bool setDataLayerProps (const char *data_id, TSLPropertyEnum property_id, TSLPropertyValue new_value)
 
bool setDeclutterStatus (const char *feature_name, TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeclutterStatus (TSLFeatureID feature_id, TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeclutterStatusOnAllFeatures (TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *value)
 
bool setFrame (int style, int colour, int thickness)
 
virtual void setOption (TSLOptionEnum option, bool value)
 
double TMCperMU ()
 
TSLDrawingSurfaceTypeEnum type () const
 
void userWord (void *ptr) const
 
void * userWord () const
 
bool cloneDynamicRenderersFrom (const TSLDrawingSurfaceBase *otherSurface)
 
void addDuplicateLayers (bool value)
 
virtual ~TSLDrawingSurfaceBase ()
 

Static Public Member Functions

static int preferredVisualID (Display *display, Screen *screen, const TSLOpenGLSurfaceCreationParameters &creationProperties)
 
- Static Public Member Functions inherited from TSLDrawingSurface
static void cleanup ()
 
static bool copy (TSLDrawingSurface *copyTo, TSLDrawingSurface *copyFrom, bool copyUserData=false)
 
static TSLStyleID getIDOfNearestColour (int r, int g, int b)
 
static bool loadStandardConfig (const char *path=0, bool delayLoadIncludes=false)
 
static bool setupColours (const char *filename)
 
static bool setupFillStyles (const char *filename, bool delayLoadIncludes=false)
 
static bool setupFonts (const char *filename, bool delayLoadIncludes=false)
 
static bool setupLineStyles (const char *filename, bool delayLoadIncludes=false)
 
static bool setupSymbols (const char *filename, bool delayLoadIncludes=false)
 
static void disableAntiAliasFonts ()
 
static void enableAntiAliasFonts ()
 
- Static Public Member Functions inherited from TSLDrawingSurfaceBase
static bool addLoader (TSLFileLoader *loader)
 
static bool addPathList (TSLPathList *path_list)
 
static bool findFile (const char *filename, TSLSimpleString &foundPath)
 
static TSLFileLoadergetLoader ()
 

Protected Member Functions

 TSLGLXSurface ()
 
- Protected Member Functions inherited from TSLOpenGLSurface
 TSLOpenGLSurface ()
 
- Protected Member Functions inherited from TSLDrawingSurfaceBase
 TSLDrawingSurfaceBase ()
 

Additional Inherited Members

- Protected Attributes inherited from TSLDrawingSurfaceBase
void * m_classID
 

Constructor & Destructor Documentation

◆ TSLGLXSurface() [1/3]

TSLGLXSurface::TSLGLXSurface ( Display * display,
Screen * screen,
Window drawable,
Visual * visual,
const TSLOpenGLSurfaceCreationParameters & creationProperties )

Constructs a new drawing surface, creating a new OpenGL context and attaching it to the given window. The drawing surface owns the context created.

This constructor cannot be used to create a drawing surface attached to a pixmap.

To check if the drawing surface has successfully attached, check that the context() method returns non-zero.

Parameters
displayThe display connection for the drawing surface to use.
screenThe screen for the drawing surface to use.
drawableThe window to attach the drawing surface to.
visualThe visual to use to create the OpenGL context with the desired attributes. The preferred visual for the drawing surface can be retrieved using the preferredVisualID() method - see the documentation for this method for more information.
creationPropertiesOptions that affect the creation of the drawing surface. See the documentation for TSLOpenGLSurfaceCreationParameters for the available options.

◆ TSLGLXSurface() [2/3]

TSLGLXSurface::TSLGLXSurface ( Display * display,
Screen * screen,
GLXDrawable drawable,
GLXContext context,
const TSLOpenGLSurfaceCreationParameters & creationProperties,
Drawable nativeDrawable = 0 )

Constructs a new drawing surface using an existing OpenGL context. The drawing surface does not assume ownership of the context.

To check if the drawing surface has successfully attached, check that the context() method returns non-zero.

Parameters
displayThe display connection for the drawing surface to use.
screenThe screen for the drawing surface to use.
drawableThe drawable to which the OpenGL context is attached.
contextThe existing OpenGL context. This context should have already been made current in the current thread.
creationPropertiesOptions that affect the creation of the drawing surface. See the documentation for TSLOpenGLSurfaceCreationParameters for the available options.
nativeDrawableThe Xlib drawable to which the drawing surface is being attached. This is only required to use non-native rendering with a drawing surface created with this constructor, in all other cases it may be left as the default.

◆ ~TSLGLXSurface()

virtual TSLGLXSurface::~TSLGLXSurface ( )
virtual

◆ TSLGLXSurface() [3/3]

TSLGLXSurface::TSLGLXSurface ( )
protected

Member Function Documentation

◆ attach()

bool TSLGLXSurface::attach ( Display * display,
Screen * screen,
GLXDrawable drawable,
GLXContext context,
Drawable nativeDrawable = 0 )

Attaches the drawing surface to the given window using the given OpenGL context. This will detach the drawing surface from any window it is currently attached to.

Parameters
displayThe display connection for the drawing surface to use.
screenThe screen for the drawing surface to use.
drawableThe drawable to which the OpenGL context is attached.
contextThe existing OpenGL context. This context should have already been made current in the current thread.
nativeDrawableThe Xlib drawable to which the drawing surface is being attached. This is only required to use non-native rendering with a drawing surface attached with this method, in all other cases it may be left as the default.
Returns
true if the surface was attached successfully, false otherwise. If this method returns false the drawing surface cannot be used until it is successfully reattached.

◆ caw()

virtual TSLOpenGLSurface * TSLGLXSurface::caw ( )
virtual

◆ context()

GLXContext TSLGLXSurface::context ( )

Returns the OpenGL context in use by the drawing surface. If this returns NULL, the drawing surface did not attach successfully and cannot be used.

◆ makeContextCurrent()

bool TSLGLXSurface::makeContextCurrent ( )

Binds the OpenGL context held by the drawing surface to the current thread. This method can be used to change the thread used for drawing to the drawing surface.

Returns true if the context was made current in this thread, or false if there was an error or the drawing surface was not attached.

◆ preferredVisualID()

static int TSLGLXSurface::preferredVisualID ( Display * display,
Screen * screen,
const TSLOpenGLSurfaceCreationParameters & creationProperties )
static

This method can be used to determine the preferred visual for the drawing surface prior to creating a window in the application. On X11 systems the visual used for a window determines the properties of the drawing surface such as the use of double buffering and antialiasing modes, therefore using the correct visual is extremely important to the functioning and appearance of anything rendered by the drawing surface.

The drawing surface prefers visuals with the highest colour and depth sizes, and the highest number of samples (for antialiasing) that is not greater than creationProperties.numMultisampleSamples().

Returns the visual ID of the visual the drawing surface would like to use, or -1 if no suitable visual could be found.