[HOpenGL] Windows with no reshaping

Sven Panne sven.panne at aedion.de
Sat Dec 9 07:09:29 EST 2006


Am Samstag, 9. Dezember 2006 04:25 schrieb Rafael Almeida:
> [...] I want to make it so a opengl window can't be resized. I know there
> are no opengl functions for that, at least none that I know of.
> Anyhow, I'm hoping there's some kind of work around that. I'm sure the
> reason behind that is portability, but I don't need it to work
> somewhere else other than on the X system. So a way to get the window
> with xlib and change that property would be just fine.

OpenGL has nothing to do with the window systems (X11, Windows, ...), so the 
real question is: Can your window system in question handle this and is this 
functionality exposed through a library?

If you are using GLUT, you can't force a window to be a given size, just state 
your humble wishes and better be prepared for everything. :-) This is due to 
the portability of GLUT and is a good design, because under e.g. X11, the 
window manager gets request from clients regarding size, position, etc. and 
decides how to honor/modify them. So *no* library for X11 can guarantee that 
a window won't change its size. And with GLUT, you can't even give a hint 
that you want this...

If you are using e.g. Gtk2Hs (http://haskell.org/gtk2hs/) or wxHaskell 
(http://wxhaskell.sourceforge.net/) you can probably at least give a hint 
that it is preferable to *not* resize the window.

> I couldn't find much documentation on Hopengl over the net and the
> last release seems to be from 3 years ago. I wonder what happened. Was
> the project discontinued?

Not at all, the OpenGL and GLUT packages are very alive, just the web pages 
are quite outdated. If you are using a recent GHC or Hugs, you probably have 
those packages already on your box. Documentation should come with your 
Haskell distribution and is available online at:

   http://haskell.org/ghc/docs/latest/html/libraries/

and especially interesting for your purposes are the documents starting at:

http://haskell.org/ghc/docs/latest/html/libraries/OpenGL/Graphics-Rendering-OpenGL.html
http://haskell.org/ghc/docs/latest/html/libraries/GLUT/Graphics-UI-GLUT.html

Depending on your Haskell distribution you already have a lot of OpenGL 
examples on your box, otherwise have a look at:

   http:://darcs.haskell.org/packages/GLUT/examples/

The bleeding-edge versions on darcs.haskell.org have almost full OpenGL 2.1 
support, including shaders, and I hope to complete it soon.

Cheers,
   S.


More information about the HOpenGL mailing list