SDL newbie question


First let me thank goodness (and the SDL contributors) for the existence
of the SDL… It seems to be the solution for me to the otherwise horrible
choice between: (high performance/high complexity/zero portability) DirectX,
(high performance/high complexity/questionable industry support) OpenGL and
(low performance/low complexity/windows-linux portable) CLX graphics

I am writing a program that I would like to have be cross platform and have
access to fast graphics (yay SDL!), and I also need things like listbox’s,
menu’s and popup menus, rich edit controls, combo boxes, text grids, picture
grids, tree views, and tabbed/page controls. Buttons, checkboxes, radio
buttons and such go without saying.

In other words I need a large set of professional, advanced, and
stable/proven gui components. The CLX library from borland offers this in a
linux/windows cross platform solution, leaving any macintosh people out in
the cold. If there is something else out there with equal component variety
and quality that can display through SDL, or somehow otherwise be more cross
platform than CLX, I would love to hear anout it. Does anyone know of such a

If I want to use CLX, can someone list the options for SDL_SetVideoMode and
any other SDL options or functions that I would need to set up to create an
SDL window that will display on a TPanel, placed on a CLX window? The point
is that then I can use other CLX components in parts of the clx window that
are not being used by the sdl window.

The equivelant thing in directx would be:
to set up a screen in cooperative mode,
attach a clipper to a panel on the window,
set up an offscreen “drawing” surface equal in size to the panel which gets
blitted to the screen when needed in the current panel position,
and trap window move events to update the position where my offscreen
surface gets blitted to the real screen whenever the user moves the window.

This setup works beautifully for directx, you can even have
non-directx-displayed components temporarily or permanenty overlap the panel
and they will not be overdrawn by the directx content, because the clipper
knows how to do it’s job. it won’t display content anywhere that the panel
is overlapped.

For those of you that have not heard of a Panel:
CLX Reference: “Use TPanel to put an empty panel on a form. Panels have
properties for providing a beveled border around the control, as well as
methods to help manage the placement of child controls embedded in the

Thank you in advance for any help or advice :slight_smile: