There’s a software that may not be.
But it is. Still there. Not dead. Alive.

Ok. There are a lot of changes. The main thing: It’s getting cleaner and
cleaner. The ParaGUI 1.0.x branch was quite cluttered and a mess. This
new branch (1.1.x) tries to get rid of all these design flaws.

For all of you maiden-like guys out there:
is our website.

Here comes the announcement:

We’re straight on the way towards the completion of our roadmap targets.
Next stop: ParaGUI 1.1.7. The new release introduces some major
performance boosts and the needed API cleanup.

Special thanks go to Sebastian Haag for his great work.
Maybe I should mention that there is a (rather uncomplete) API
documentation available.

All that stuff can be found in the “Download” section.

I don’t know how many people still use the mailing lists. I would
suggest all of you out there should use the forum on the website (it’s

Here’s the changelog for the 1.1.7 release:

  • optimized (software)cursor drawing
  • removed obsoleted PG_Widget::[Move|Size]Window methods
  • added custom itemheight to PG_DropDown::AddItem()
  • dynamic resizing of listbox height in PG_DropDown
  • disabled alpha for application background
  • optimized PG_RectList
  • added docs
  • major rewrite of PG_WidgetList (new class PG_ScrollArea)
  • fixed many widget child-handling bugs
  • the new design should simply do it right
  • removed obsolete PG_WidgetListEx class
  • reworked nearly all class constructors
  • splitted PG_WidgetList in PG_ScrollWidget / PG_WidgetList
  • PG_RichEdit is now inherited from PG_ScrollWidget
  • PG_ScrollBar / PG_Slider cleanup
  • applied patches from Sebastian Haag:
    made AddWidget() / AddItem() obsolete (see roadmap for more info)
    added param ‘bool bRecursive’ to PG_Widget::SetTransparency (set to
    false by default)
    added PG_Button::SetTransparency(Uint8 t, bool bRecursive) to work
    when a parent widget sets transparency recursively
    improved graphical update of software cursor a bit by minimizing rect to
    be updated
    merged multiple calls to SDL_UpdateRects to improve performance
    (see SDL reference for more info)
    added PG_DropDown::GetIndent()
    added PG_Label::GetIndent()
    added PG_ListBox::GetIndent()
    fixed PG_ListBox::GetSelectedItems() (sorry, my fault :))
    fixed: sometimes PG_ListBox items were drawn although parent was not
    removed unnecessary BringToFront() in PG_DropDown::handleButtonClick()
    improved graphical update in PG_ListBox::SelectItem()
    added 24 bpp support for fonts (thanks to Steve McCrea!)
    fixed paratest.cpp VC.NET warnings
    made some changes to paratest.cpp to make use of
    and the new way of adding items to lists
    made some minor cleanups
    fixed VC complaint concerning PG_Application::GetScreen()
    added PG_ListBox::SetAlignment() / GetAlignment()
    added PG_DropDown::SetAlignment() / GetAlignment()
    added PG_Window::GetIcon()
    modified PG_Application::SetCaption() to use ParaGUI’s SetIcon()
    insteadof SDL’s
    fixed a potential crash occuring when having only one widget in a
    made PG_ListBox / PG_DropDown::SetIndent() work before adding items
    added a simple mouse wheel handling for PG_ListBox and PG_DropDown
    made PG_Widget’s destructor call RemoveFromWidgetList() only if widget
    has no parent
    added "break"s to PG_Window::handleButtonClick()
    connected a slider’s sigSlideEnd signal in paratest.cpp
    made use of new SetAlignment() method in paratest.cpp
  • applied patches from Ulf Lorenz
    documented pgsurfacecache.h
    remove obsolete code from drawline.cpp

Have fun