> What do you mean by "isn't honoured"
The background still gets erased, though the erase bkgnd message handler tells it not to.
This means that when the control gets updated, it is first painted in gray, then painted by OpenGL,
which results in very visible flickering.
Maybe there is another way to achieve that in LCL? (the compiler accepted it, so I assumed it was supposed to be supported)
> I doubt if TBitmap will ever get a scanline property.
ScanLines is just an access to the bitmap as a raster, and unless bitmaps have been assimilated to graphic objects, icons or glyphs in LCL, bitmaps are supposed to be... bitmaps, which are raster images (= rows of arrays of pixel color values/indices).
> What have Scanlines to do with textures ?
That's how you access to a bitmap's raw data in raster fashion (whole line by whole line), instead of accessing them per pixel (which is the only other way to access a bitmap's pixel data, but is obviously very slow).
Textures are defined in a raster fashion, by specifying the color values for all their pixels in a single step. The texture/image loading relies on TGraphic classes to support multiple formats, and the only standard way in which a TGraphic's data can be accessed in a raster fashion in the VCL is by rendering it into a TBitmap, and then accessing the bitmap's ScanLines (pointers to the beginning of rows of pixels).
Other TGraphic classes, such as TJpegImage or TIcon f.i., can maintain their data in whichever way they prefer, like raw jpeg blocks or opaque GDI handles, thus the raster information doesn't exist until the jpeg/icon is rendered into a bitmap.