|
Crazy Eddies GUI System 0.7.6
|
This page lists the major breaking changes, and other related changes, made to the library for the 0.7.x series of releases.
Code organisation and structure
RendererModules/<name of API>/CEGUI<name of API><name of component>.h
RendererModules/OpenGL/CEGUIOpenGLRenderer.h
RendererModules/Ogre/CEGUIOgreGeometryBuffer.h
RendererModules/Direct3D10/CEGUIDirect3D10RenderTarget.h
Windows specific and/or MSVC++ specific changes
OpenGLGUIRenderer.dll it's now CEGUIOpenGLRenderer.dll.
Apple Mac specific and/or Xcode specific changes
Resources directory, additionally the XMLParser and ImageCodec based loadable bundles were packaged within the CEGUI framework itself, this has changed as follows:Frameworks directory.PlugIns directory. This decision was taken because it's up to each app developer to decide which loadable bundles they want to support and so it's more logical to have those placed at the app level rather than embedded deeper within the CEGUI frameworks. Having said this, CEGUI will still look in the PlugIns location of the CEGUIBase framework for bundles; if you wish to reconfigure the loadable bundle targets to be placed there instead, CEGUI will find them (it's just that it's not the preferred default).CEGUI to CEGUIBase. This is mostly to have parity across all platforms as far as module names go, although also reflects the fact that 'CEGUI' on the Mac is no longer a monolithic entity.
CEGUI::System changes
Window and WindowRenderer factory registration changes
CEGUI::WindowFactoryManager::addFactory<TplWindowFactory<MyWidget> >();
CEGUI::WindowRendererManager::addFactory<TplWindowRendererFactory<MyWidgetRenderer> >();
WindowManager changes
Window interface and/or behavioural changes.
Window::getRenderCache is removed. You probably now want to be doing something with Window::getGeometryBuffer.Window::requestRedraw function is replaced by Window::invalidate function (NB: function also changes from const to non-const)d_renderCache is removed.Window::d_text is now known as Window::d_textLogical.prefix is removed.Window::getPrefix and Window::setPrefix are removed.Window::recursiveChildSearch is removed.allow_disabled, which when set to true will test for a hit if the Window is disabled. Don't forget to update the signatures of any overrides!Window::getUnclippedPixelRect is renamed Window::getUnclippedOuterRect.Window::getPixelRect is renamed Window::getOuterRectClipper, and should only really be used for clipping rendered content.Window::getInnerRect is renamed Window::getInnerRectClipper, and should only really be used for clipping rendered content.Window::getPixelRect_impl virtual function is removed.
WindowRenderer changes
WindowRenderer::getPixelRect virtual function is removed.
Renderer interface changes and related items.
OrientationFlags enumeration is removed.Renderer::addQuad function is removed. Geometry is now added directly to the per-window GeometryBuffer object(s).Renderer::clearRenderList function is removed.Renderer::setQueueingEnabled function is removed.Renderer::isQueueingEnabled function is removed.Renderer::doRender function is removed. Final rendering is now achieved by calling RenderingSurface::draw for the root RenderingSurface(s).Renderer::getWidth and getHeight functions are removed.Renderer::getSize function becomes Renderer::getDisplaySize returning a const Size reference.Renderer::getRect function is removed.Renderer::getHorzScrennDPI and Renderer::getVertScreenDPI are replaced with a single Renderer::getDisplayDPI function returning a const Vector2 reference.Renderer::resetZValue function is removed.Renderer::advanceZValue function is removed.Renderer::getCurrentZ function is removed.Renderer::getZLayer function is removed.Renderer::createResourceProvider function is removed. A DefaultResourceProvider is now used unless you explicitly provide an alternative.d_identifierString is removed.d_resourceProvider is removed.Renderer::EventDisplaySizeChanged is moved to the System object. Informing the system that the display has changed size is now achieved by calling System::notifyDisplaySizeChanged, which in turn will set the display size back on the Renderer object. This gives a fully uniform interface for this procedure, and is better than the old ad-hoc approach.
Texture interface changes.
Texture::getWidth and Texture::getHeight are replaced with a single Texture::getSize function returning a const Size reference.Texture::getOriginalWidth and Texture::getOriginalHeight are replaced with a single Texture::getOriginalDataSize function returning a const Size reference.Texture::getYScale and Texture::getXScale are replaced with a single Texture::getTexelScaling function returning a const Vector2 reference.buffWidth and buffHeight arguments with a single Size object reference buffer_size argument.Texture::getRenderer function is removed.
Font and FontManager changes
FontManager::createFont functions are renamed to FontManager::create (inherited from base class), FontManager::createFreeTypeFont and FontManager::createPixmapFont. All have totally new signatures.FontManager::destroyFont function renamed to FontManager::destroy (inherited from new base class).FontManager::destroyAllFonts function renamed to FontManager::destroyAll (inherited from new base class).FontManager::isFontPresent function is renamed to FontManager::isDefined (inherited from new base class).FontManager::getFont function is renamed to FontManager::get (inherited from new base class)FontManager::notifyScreenResolution function renamed to FontManager::notifyDisplaySizeChanged.Font::notifyScreenResolution function renamed to Font::notifyDisplaySizeChanged.Font::drawWrappedText (protected) function is removed.Font::drawTextLine (protected) function is removed.Font::drawTextLineJustified (protected) function is removed.Font::getNextWord (protected) function is removed.Font::getWrappedTextExtent (protected) function is removed.Font::getFormattedTextExtent function is removed."FileName" and "ResourceGroup" are removed."Name" will no longer incorrectly allow a Font name to be changed (a 'soft' error is logged).
Image, Imageset and ImagesetManager changes
ImagesetManager::createImageset functions are renamed to ImagesetManager::create (main one inherited from base class, and others for overload consistency).ImagesetManager::destroyImageset functions renamed to ImagesetManager::destroy (inherited from new base class).ImagesetManager::destroyAllImagesets function renamed to ImagesetManager::destroyAll (inherited from new base class).ImagesetManager::isImagesetPresent function is renamed to ImagesetManager::isDefined (inherited from new base class).ImagesetManager::createImagesetFromImageFile is renamed to ImagesetManager::createFromImageFile (remove verbosity / for consistency).ImagesetManager::getImageset function is renamed to ImagesetManager::get (inherited from new base class)ImagesetManager::notifyScreenResolution function renamed to ImagesetManager::notifyDisplaySizeChanged.Imageset::notifyScreenResolution function renamed to Imageset::notifyDisplaySizeChanged.
Scheme and SchemeManager changes
SchemeManager::loadScheme function is renamed to SchemeManager::create (inherited from base class)SchemeManager::unloadScheme function renamed to SchemeManager::destroy (inherited from new base class).SchemeManager::unloadAllSchemes function renamed to SchemeManager::destroyAll (inherited from new base class).SchemeManager::isSchemePresent function is renamed to SchemeManager::isDefined (inherited from new base class).SchemeManager::getScheme function is renamed to SchemeManager::get (inherited from new base class)
Events and input handling changes
args.handled = true;
++args.handled;
Exception changes
Scripting and script module changes
ScriptWindowHelper is removed.ScriptModule::getLanguage is removed.
XML Config file changes
Falagard WindowRenderer set changes
FalagardStaticText::HorzFormatting enumeration removed, use HorizontalTextFormatting enumeration instead.FalagardStaticText::VertFormatting enumeration removed, use VerticalTextFormatting enumeration instead.
Miscellany
ListboxItem::d_itemText renamed to ListboxItem::d_textLogical.TreeItem::d_itemText renamed to TreeItem::d_textLogical.TextFormatting enumeration is removed, use VerticalTextFormatting and HorizontalTextFormatting enumerations instead.
1.7.4