Porting tips and changes from 0.7.X to 0.8.X

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Revision as of 23:14, 3 March 2011 by Capek (Talk | contribs) (Experiment to make the wiki more interlinked)

Jump to: navigation, search

Written for CEGUI 0.7


Works with versions 0.7.x (obsolete)

Introduction

This is work in progress, so while this page will be kept as up-to-date as possible, what you read here on any given day will never be definitive and is subject to further change until such time as a stable release is made. There are no current download packages contain the code this page relates to; this code is only available from the cegui_mk2/trunk directory in the subversion repository (see HOWTO: Obtain the library source from subversion).

Major renames/API changes

  • CEGUI::Window was renamed to CEGUI::Widget as Widget is the coined term for that, WindowManager renamed to WidgetManager, etc... (not in mercurial yet!)
  • The stock/standard window renderer set (now widget renderer set) FalagardWRBase was renamed to StandardWRSet to avoid confusion with core Falagard facilities (not in mercurial yet!)
  • Image class is now an abstract interface. BasicImage implementation is provided, and used for internally created Image objects.
  • Imageset class is removed. You now use the new ImageManager to access defined images.
  • ImagesetManager class is removed. You now use the new ImageManager.

Name this section

  • PropertyHelper has been turned into a template class, instead of PropertyHelper::uintToString you do PropertyHelper<uint>::toString, instead of PropertyHelper::stringToUint you do PropertyHelper<uint>::fromString
  • All instances of the word caret that were incorrectly spelt 'carat' have been corrected. This affects all APIs, properties, events and datafiles.
  • Window::EventWindowUpdated renamed to Window::EventUpdated and the associated string is changed from "WindowUpdate" to "Updated"
  • ListHeader::SegmentNameSuffix changed type from character array to CEGUI::String
  • EventMouseEnters renamed to EventMouseEntersSurface (old name removed)
  • EventMouseLeaves renamed to EventMouseLeavesSurface (old name removed)
  • BiDiVisualMapping renamed to BidiVisualMapping. Also renamed the files, so CEGUIBiDiVisualMapping.h is now CEGUIBidiVisualMapping.h
  • class colour renamed to Colour, as a side effect the "colour" interpolator is now "Colour" interpolator, this breaks animation definitions!
  • Point typedef removed, please use Vector2 instead
  • Many event string values changed to match the C++ name (but without the Event prefix). A list of which strings changed value will appear here soon.
  • Window::setRestoreCapture renamed to Window::setRestoreOldCapture
  • CEGUI now supports custom memory allocation, see Memory Allocation to check if this concerns you or not.
  • Window::addChildWindow renamed to Window::addChild, Window::removeChildWindow renamed to Window::removeChild, several other methods (mostly in layout containers) changed from *ChildWindow* to *Child*
  • CEGUI::String can now be just a typedef or a class, depending on String configuration (CEGUI can now use std::string as CEGUI::String for apps not requiring unicode)
  • Window::getChild_impl method completely removed, it was only used by Window::getParentPixelSize, shouldn't be hard to replace
  • Vector2, Vector3, Size and Rect are now templated, you should use Vector2<float> (or just Vector2<> as a shortcut since float is the default type) instead of Vector2, UVector2 class was removed, UVector2 is now just a typedef to Vector2<UDim>. Same with Vector3, Size and Rect.
  • Texture::saveToMemory is renamed Texture::blitToMemory.
  • Renderer and Texture interfaces changed in order to support named textures.