Changelog

2013-10-21 arne

    * removed support for Mac OS X 10.4
    * add CLayeredViewContainer + platform implementation for iOS and OSX (QuartzCore is now required)
    * CGraphicsPath::hitTest implementation for D2D and GDI+
    
2013-10-18 arne

    * add relative touch mode to CSlider

2013-10-15 yvan

    * remove warning for missing casting (double to float)
    * change #include <Windows.h> to #include <windows.h>
    
2013-10-14 arne

    * add onMouseCancel () to CView to support touch canceling and maybe later ESC-Key canceling of mouse tracking
    * implement onMouseCancel() on a few of controls

2013-10-04 arne

    * add path hit testing support into CView
    * add hitTest method to CGraphicsPath (Quartz implementation only currently)
    * add CSlider::kAlwaysUseZoomFactor to make the zoom modifier mode the default

2013-09-10 arne

    * add iOS CTextEdit support
    * add experimental COpenGLView support for iOS (currently not enabled)

2013-08-06 arne

    * add iOS support (without CTextEdit and COptionMenu support for now)
    * add multi-touch support (iOS implementation only for now)

2013-05-29 arne

    * fix crash in IDependecy::changed when a dependent is removed while iterating the depentents list
    * add icon drawing to CTextButton
    * change CDrawMode to be a class and add kIntegralMode to draw exactly at integer coordinates
        this is a better fix than the previous aliasing drawing fix for quartz
    * always draw bitmaps on integer coordinates with Direct2D
    * add better focus path for CKnob when drawing with the corona style
    * add frameWidth to CParamDisplay
    * fix a crash when the CFrame object is destroyed when in mouse down
    * changed CView::getVisibleSize() to CView::getVisibleViewSize() to silent compiler warning
    * created constructor methods for view containers without CFrame argument (which was not used anymore). Moved the old ones into deprecated.
    * add first unit tests

2013-02-10 arne

    * add multi selection style to CDataBrowser
    * introduce CDataBrowser::Cell position description and change some methods which deals with cells to use it. 
    * rename IDataBrowser to IDataBrowserDelegate
    * changed drag method signatures of IDataBrowserDelegate to include cell mouse position
    * fix some aliasing drawing issues with Quartz caused by non integral coordinates
    * CGradientView check with Direct2D (still needs check with GDI+)
    * mark CFrame::doIdleStuff and CControl::doIdleStuff deprecated as it is not used anymore
    * replace CDragContainer with IDataPackage. Add CDragContainerHelper class to make porting code easier

2013-01-04 arne

    * fix a few issues introduces due to calling beginEdit() and endEdit() only once in CControl
    * [quartz] use global color space for Gradient colors, so that these colors are identical to the colors when drawing strokres or fills
    * changed method signature CViewContainer::getVisibleSize() to take a const rect reference
    * fix rare crash in CTooltipSupport
    * fix a redraw issue which may happens when removing a modal view
    * add CGradientView (experimental, Direct2D and GDI+ drawing needs check)

2012-11-28 arne

    * replaced all occurrences of reinterpret_cast with proper replacements
    * changed drawing order of CDataBrowser, now it paints row by row not column by column
    * add a new template method to CViewContainer to find children by class type
    * remember edit state in CControl so that sub classes can ask if they are currently in edit mode (between beginEdit() and endEdit())
    
2012-11-24 arne

    * add new argument to CViewContainer::getViewAt () to allow to get only the mouse enabled view at that position
    * changed CViewContainer::getViewsAt () result container to std::list<SharedPointer<CView> >
    * add c++11 override keyword with VSTGUI_OVERRIDE_VMETHOD
    * remove last usage of isTypeOf() and add VSTGUI_ENABLE_OLD_CLASS_TYPE_INFO macro which enables the old class type info mechanism (defaults to be enabled). If turned off generated code size is smaller.

2012-11-22 arne

    * fix issues when compiling in c++11 mode
    * implement page up/down key handling in CDataBrowser
    * change scrollbar look to use round borders
    * mouse wheel messages are now only dispatched to mouse enabled views
    * make sure CTextLabel does not handle the mouse wheel message
    * small optimization for drawing strings on Mac
    * fix issue that the OpenGL view does not draw on Windows when used on another thread than the main thread
    * fix issue where the VST3Editor does not update the option menu when bound to a vst 3 parameter
    * implement binding a vst 3 parameter to a CTextLabel in VST3Editor
    * replace custom linked list for child views in CViewContainer by a std::list
    * add UTI to CFileExtension
    * fix CCheckBox drawing on Windows when coordinates are not rounded to whole integers
    * fix tooltip timer not stopped when tooltip window was hidden on Cocoa

2012-05-17 arne

    * add compatibility to compile VSTGUI with Xcode 4.x and Mac OS X SDK 10.7
        - This looses the possibility to set the font family for the native text edit field with Carbon

2012-02-27 arne

    * add drag'n drop handling to CDataBrowser
    * fix a rare drawing issue with scrollbars in a scrollview
    * make sure that a call to invalid won't invalidate while in the drawing callback

2012-02-19 arne

    * add option to include bitmap data into uidesc file
    * add 2 new platform functions to IPlatformBitmap: createFromMemory(..) and createMemoryPNGRepresentation (..)
    * the CFrame object should now be created with the constructor CFrame (size, editor) and afterwards opened with 
      the native parent object and a type description of the parent. The old constructor is now deprecated.
    * add new Bitmap Filter : ScaleLinear

2012-02-11 arne

    * fix most warnings when building with Clang
    * fix a few memory leaks in the Cocoa sources
    * fix a bug calculating a color from HSL
    * move the ViewIterator template into the CViewContainer class to get rid of the friend declaration
    
2011-12-13 arne

    * fix saving UIDescription on Windows
    * fix finding UIEditController::getEditorDescription
    * fix compile error with newer Visual Studio compilers

2011-11-25 arne

    * merge changes from vstgui_400 :
    
    2011-10-11 arne

        * fix mouse wheel on Mac OS X 10.7 when "natural" scroll direction system setting is used.

    2011-10-05 arne

        * fix possible crash in IDependency::changed() when dependent object removes itself in this call

    2011-10-02 arne

        * fix wrong pixel format on intel Mac OS X
        * fix performance issue drawing bitmaps with empty clip rect
        * fix escape key does not end text edit on Windows

    2011-08-24 arne

        * fix bug: control listeners don't get right button click

    2011-07-16 arne

        * implement missing kSelectDirectory in CNewFileSelector for Windows XP
        * fix issue with COptionMenu and check style for first item for non kPopupStyle on Cocoa

2011-10-08 arne

    * add pDisabledBackground bitmap to CView and made pBackground a private member to support drawing a different bitmap if the mouse is enabled or disabled
    * refactored bitmap filters to use a factory
    * more uidescription editor

2011-09-28 arne

    * add CShadowViewContainer
    * fix CSlider vertical drawing (when not using Bitmaps)
    * add CTextLabel truncate text mode
    * add UTF8CharacterIterator class for iterating UTF8 strings character by character

2011-09-15 arne

    * add kAutoHideScrollbars style to CScrollView
    * more uidescription editor
    
2011-09-12 arne

    * added a few simple Bitmap Filters
    * added a few methods to CColor (toHSL, fromHSL, getLuma, getLightness)
    * more uidescription editor
    * more documentation

2011-09-01 arne

    * support for setting and getting the systems clipboard, see CFrame::setClipboard() and CFrame::getClipboard ()
    * CFrame support for more than one IKeyboardHook (you need to change your call to CFrame::setKeyboardHook() to CFrame::registerKeyboardHook ())
    * more uidescription editor
    
2011-08-27 arne

    * fix CFrame::advanceNextFocusView() for modal views
    * add round rect style for CParamDisplay
    * add kFollowFocusView style for CScrollView
    * add CTextButton::sizeToFit()
    * new uidescription editor

2011-08-22 arne

    * new class CCommandMenuItem
    * new container view CRowColumnView
    * add on/off style to CTextButton
    * remove unused bTextTransparencyEnabled from CParamDisplay
    * first part of new uidescription editor

2011-07-16 arne

    * new class COpenGLView + platform implementations for Windows + Mac Cocoa
    * new style for CScrollView: kOverlayScrollbars (scrollbars are overlayed of the content)
    * fix a crash when CView::setWantsIdle(false) was called inside CView::onIdle()

2011-07-4 arne

    * fixes to path arc drawing for Direct2D and GDI+
    * fixes to CKnob

2011-07-01 arne

    * fix horizontal CVUMeter drawing (was reversed)

2011-06-24 arne

    * make sure that Windows 7 magnification setting is ignored with Direct2D

2011-06-14 arne

    * change call sequence for CViewContainer::attached(parent) to first call the base class before calling the subviews, so that subviews have access to all parents in attached(..)
    * make sure animations will be stopped when views are removed and that IAnimationTarget::animationFinished() will only be called once
    * fix a scroll view issue in makeRectVisible

2011-06-08 arne

    * VST2.x frame resize implementation (mainly for Windows)
    * make tutorial compile and work on Windows

2011-06-05 arne

    * implement missing file drag support for Windows
    * fix a few warnings with clang

2011-06-03 arne

    * rearrange some code in AEffGUIEditor and PlugGUIEditor and make it work on Mac OS X 64 bit

2011-05-27 arne

    * fix a crash when resetting the focus view after a menu popup when that view was removed
    * add CViewContainer method to enable/disable autosizing

2011-05-26 arne

    * fix for CView::setVisible(false) not invalidating the view area
    * fix another scroll view issue

2011-05-22 arne

    * make CView::getViewSize() non virtual
    * replace nearly all direct uses of CView::size with CView::getViewSize()
    * fix a scroll view issues

2011-05-20 arne

    * replace checks for emptiness of std container from size () > 0 to empty () == false
    * update copyright year

2011-05-17 arne

    * fix horizontal auto drag scrolling in CScrollView
    * prevent transforming a CSplitView or CScrollView to another view in UIEditFrame to fix a crash
    * define NDEBUG if DEBUG is not defined so that asserts are not triggered in Release builds
    * more documentation

2011-05-06 arne

    * add CView idle mechanism
    * CVuMeter uses CView idle mechanism for smooth meter fallback
    * CFrame disable invalidating views if CView::kDirtyCallAlwaysOnMainThread is true

2011-04-30 arne

    * fix CKickButton key down repeat triggering beginEdit more than once
    * remove usage of isTypeOf("CViewContainer") and instead use dynamic_cast/reinterpret_cast
    * add assert in CView::attached(CView* parent) that checks that the parent is a CViewContainer, other types are not supported !
    * fix drawcontext on windows did not work with globalAlpha other than 1 for fillLinearGradient

2011-04-25 arne

    * fix a memory leak in CFontChooser
    * rearrange some code in uidescription
    * CSplitView docs and fixes

2011-04-22 arne

    * fix CVuMeter decreaseValue not working as expected
    * moved all uses of kMsgCheckIfViewContainer into the deprecated macro

2011-04-06 arne

    * fix control-click in cocoa not a right click
    * fix an update bug with COptionMenu not setting the value correctly on popup
    * gdiplus line style implementation

2011-03-29 arne

    * add immediate text change style to CTextEdit
    * revert UTF8StringHelper optimization as it does not work under 64 bit
    * some views does not call setDirty(false) in their draw methods. fixed.
    * change default fonts on Mac to Arial like on Windows

2011-03-23 arne

    * added CTextButtton control view class

2011-03-20 arne

    * removed the sublisteners in CControl and replaced it by IDependency
    
2011-03-19 arne

    * new class IDependency see idependency.h for documentation
    * new IDataBrowser methods: dbAttached(..) and dbRemoved(..)

2011-03-16 arne

    * CGraphicsPath redesign
    * fix an issue with CScrollView and focus view drawing

2011-03-11 arne

    * Direct2D graphics path addArc method implementation. clockwise setting not yet.
    
2011-03-10 arne

    * new font face kStrikethroughFace (thanks to Bick Tick for this)
    * new class CString which holds a platform representation of a UTF8String.
        The CDrawContext class has one CString so that the platform code does not need to convert a string twice when drawing
        the string into a rectangle

2011-03-09 arne

    * CNewFileSelector implementation for Windows XP (thanks to Bick Tick for the implementation)
    * UTF8StringHelper optimization (only use malloc if more than 128 UTF-8 characters or 64 UTF-16 charachters needs to be translated)
    * fix drawing issue with Wavelab 7 on Windows (WS_EX_TRANSPARENT is now only set when the parent window has WS_EX_LAYERED style set)
    * the RGNDATA allocation in WM_PAINT on Windows is now only done when the size of this structure changes, otherwise the memory block will be remembered.
    * fix file drop on Windows (thanks to Bick Tick to fix this)
    
2011-03-06 arne

    * fix CFrame::getViewAt(..) returning wrong view in modal mode
    * use a template class for the view iterator

2011-03-04 arne

    * add CDrawContext::createRoundRectGraphicsPath(..) method (thanks to Big Tick for contribution)
    * add CGraphicsPath::addRoundRect(..)
    * fix quartz graphics path addArc method

2011-03-03 arne
    
    * new static bool CView::kDirtyCallAlwaysOnMainThread. When this is set to true a call to CView::setDirty(true) will
      call CView::invalidRect (size) instead of setting the dirty flag. This can fix redraw issues for overlapping views, but
      you must make sure that you never call setDirty() from any other thread than the main thread. The default value is false to
      maintain the old behavior.
    * fix: a CScrollView does not write it's subviews to the UIDescription.
    * a CScrollView will now automatically resize it's container size if it has only one child view and this view was resized.
    * the default animation classes are now inherited from CBaseObject.
    * new view container class : CSplitView (documentation will follow)
    * uiswitchcontroller creator class moved to uiviewcreator.cpp (to allow using vstgui as static library)
    * added kCViewControllerAttribute which holds the sub controller of a view
    * new method in CViewContainer to change the Z order of a view
    * new method CRect::originize ()

2011-02-13 arne

    * merge back changes from VST SDK 3.5:

        * fix some warnings with some compilers
        * add CAnimationSplashScreen class
        * animations can have an optional notification object for receiving a message when the animation has finished

2010-12-05 arne

    * fix ExchangeViewAnimation

2010-10-15 arne

    * fix some possible crashes with animations

2010-10-10 arne

    * add CMouseEventResult as return value to IMouseObserver::onMouseDown and IMouseObserver::onMouseMoved
    * allow registering of more than one IMouseObserver. CFrame::setMouseObserver renamed to CFrame::registerMouseObserver and CFrame::unregisterMouseObserver
    * mouse events now propagated to views behind views if the front view does not handle the event and the views transparency flag is set
    * IPlatformBitmapPixelAccess implementation for Gdiplus

2010-10-03 arne

    * add buttons parameter to IMouseObserver::onMouseDown and IMouseObserver::onMouseMoved
    * alphaPremultiply implementation for Direct2D IPlatformBitmapPixelAccess
    * moved plug-in API specific files into plugin-bindings folder
    * fix D2DDrawContext::drawPolygon

2010-10-01 arne

    * rewrite implementation for CView attributes to use std::map instead of a linked list
    * some fixes and enhancements from Vítězslav Kot
    * the zoom modifier and default value modifier can now be set with CControl::kZoomModifier and CControl::kDefaultValueModifier
    * add possibility to load bitmaps from absolute paths via IPlatformBitmap
    * fix non visible textedit field with Direct2D (because of not using WS_EX_COMPOSITED)

2010-09-25 arne

    * fix Direct2D issues after installing IE 9 Beta (the new Direct2D version does not like to draw into WS_EX_COMPOSITED windows)

2010-09-23 arne

    * workaround bug on Mac OS X that PNG images are always decoded when drawn

2010-09-10 arne

    * add CBitmapPixelAccess class
    * add support for multi-line tooltips for Cocoa and Windows
    * fix a crash when CFrame is closed and a modal view was set and an animation was used on this modal view

2010-09-03 arne

    * add isControlDefaultButton(..) to VSTGUIEditorInterface to customize the buttons which act as setting the default value of controls
    * removed custom bitmap reader interface

2010-08-04 arne

    * quartz: draw bitmaps on pixel boundaries
    * combine D2DBitmap and D2DOffscreenBitmap

2010-07-10 arne

    * fix invisible state inconsistency of CViewContainer children
    * send key events only to mouse enabled views
    * move CGraphicsPath creation into CDrawContext
    * move CGraphicsPath draw methods into CDrawContext

2010-06-30 arne

    * added ViewIterator and ReverseViewIterator classes, so that iterating over CViewContainer children are not that expensive
    * fix modal view handling
    * fix font creation bug with GDI+ when combining multiple font styles

2010-06-25 arne

    * Mac 64 bit AEffGUIEditor implementation
    * Build 32/64 bit universal binary for tutorial project
    * fix focus issues with Cocoa and text edit fields
    * fix bugs in CVUMeter

2010-06-08 arne

    * added CFontChooser class
    * added GenericStringListDataBrowserSource class
    * changed key event flow in CFrame. New event flow is :
            - IKeyboardHook
            - focus view
            - parents of focus view (new)
            - modal view
        CViewContainer now does not propagate key events to child views
    * fixing bug 2992884 : CDrawContext::drawString does not work on Mac OSX < 10.5
    * fixing bug 2994963 : Mac Carbon option menu - wrong item checked
    * fixing setMin(..) and setMax(..) for CKnob
    * consistent names for uidescription files and classes

2010-04-28 arne

    * changed to use C99 variable types (int8_t, uint8_t, etc)
    * added CButtonState class which replaces the buttons parameter in CView mouse methods
    * Auto drag scrolling flag for CScrollView
    * removed CGraphicsPath::addString method
    * added some new draw styles to CKnob :
        - drawing a circle instead of lines for the handle
        - drawing the value as a corona (with support for inverted value and value from center)
    * added drawing style to CSlider
    * simplified stringToValue and valueToString functions for CParamDisplay and CTextEdit

2010-04-09 arne

    * Direct2D menu icon implementation
    * fix memory leak in Windows when using icons in menus
    
2010-04-07 arne

    * removed COffscreenContext in CViewContainer & CVUMeter as it is not needed there anymore
    * added IPlatformBitmapPixelAccess for those who needs to alter pixels of a bitmap directly
    * changed CLineStyle to support more than solid and dotted lines

2010-03-20 arne

    * add documentation for the animation support
    * initial Direct2D support for Windows

2010-03-03 arne

    * redesign for onMouseEntered and onMouseExited in CFrame. The new implementation calls all views on enter or exit.
      That means if a view is embedded into a viewcontainer and has the same size as its parent if the mouse enters this view the parent will also get a onMouseEntered call.
      In the previous implementation only the view did get called not its parents
    * tooltip support is now moved into CFrame and you can enable or disable it via CFrame::enableTooltips (state)
    
2010-02-21 arne

    * new animation classes
    * using mach_absolute_time() instead of TickCount() for IPlatformFrame::getTicks() for Mac OS X
    * fix drawing bitmaps with globalAlpha value other than 1 on Mac OS X
    
2010-02-17 arne

    * new alphaValue member for CView which affects the opaqueness when drawing
    * new optional virtual methods in CControlListener: controlTagWillChange and controlTagDidChange
    * added CFrame::close() method. Should be called instead of CFrame::forget() when you want make sure to detach the platform view from its parent
    * CScrollView draws its border with the background color, not with black anymore
    * focus handling change: a view which says wantsFocus() gets focus on mouse down now. A control does not set itself as focus view if beginEdit is called.

2010-02-03 arne

    * implementation for sizeToFit() for all controls
    * new CView::doDrag() implementation for starting a drag

2010-01-24 arne

    * added CControl::setValueNormalized() and CControl::getValueNormalized()
    * added key event handling to CHorizontalSwitch, CVerticalSwitch, CRockerSwitch, CMovieButton
    * all included controls respect the min and max values (before some only worked between zero and one)
    * new behaviour in CFrame::onMouseDown(): the focus view will only be resetted if the focus view is a text edit control, otherwise controls are responsible to set itself as focus view on a mouse down
    * removed CControl::delta variable as it wasn't used anymore (if you used it in any of your custom controls, change your code so that it uses kDoubleClick)
    * removed CSpecialDigit::getNormValue(), use CControl::getValueNormalized() instead

2010-01-22 arne

    * CViewContainer::drawBackgroundRect() draws bitmap now with the same size as the size of itself and not the size of the bitmap
    * IBitmapReader interface for custom bitmap loading (only mac implementation yet, win to come)
    * updated copyright year to 2010

20010-01-16 arne

    * changed size for IDataBrowser::dbDrawHeader() to include line width
    * added CBaseObjectGuard object (it's now safe to remove a view while in mouse or key event methods)
    * aligning offscreen bitmaps on mac to 16 bytes
    
2009-12-30 arne

    * added IViewAddedRemovedObserver as interface for observing the frame when a view is added or removed
    * code cleanup
    * added drag support for Windows UIDescription editor
    * updated some documentation

2009-12-05 arne

    * more fixes because of bugs from platform abstraction
    * added sub control listeners to CControl
    * changed CControl::setValue(value) to CControl::setValue(value, updateSubListeners)
    * CControl now implements IFocusDrawing
    * fixing CSlider and CSwitch when using min != 0 and max != 1
    * added UIDescription VST3 test 

2009-11-24 arne

    * fixed some bugs introduced with the platform abstraction
    * added color chooser view (and panel for uidescription)
    * replaced NAMESPACES makros with namespace VSTGUI

2009-11-20 arne

    * completed platform abstraction (except the CVSTGUITimer class)
    * eliminated the following macros : VSTGUI_USES_COREGRAPHICS, GDIPLUS, VSTGUI_USES_UTF8 and VSTGUI_FLOAT_COORDINATES
        this means:
        - On Windows VSTGUI now only uses GDI+ as the drawing API
        - CCoord is of type double
        - The text drawing methods expects the strings to be in UTF-8 not ASCII

    * because of the changes above, many classes have some changes, here are the most prominent
        - CBitmap only has one draw method which actually calls thru to CDrawContext.
        - CBitmap transparency is gone. Use PNG Bitmaps with an alpha channel to get the same result.
        - COffscreenContext must be created via the static create method.

    * the concept behind the platform abstraction is that the platform frame implementation 
      is responsible to create nearly all the necessary platform objects except bitmaps and fonts for now (this may be the next step).
      this way it should be easier to maintain the source and much easier to add more platform implementations.

2009-11-19 arne

    * more windows platform abstraction

2009-11-15 arne

    * first part of platform abstraction for windows

2009-11-14 arne

    * platform abstraction
    * mac carbon and cocoa done, windows to be done
    
2009-10-25 arne

    * make text edit transparent on windows
    * add focus navigation to windows text edit control
    * fix cocoa option menu opening at wrong position sometimes
    * add new COffscreenContext constructor which doesn't need a CDrawContext for drawing into a bitmap
    
2009-10-21 arne

    * fix tutorial project (mac only for now) to work with vstgui 4.0
    
2009-10-18 arne

    * added focus drawing support, see IFocusDrawing and CFrame::setFocusDrawingEnabled()
    * set CFrame::createDrawContext() deprecated
    * added CFrame::onActivate(bool state) which will be called from the platform view/window when the view/window is activated or deactived.
            Currently this remembers the focus view on deactivate and set the focus view to zero and resets the focus view when activated.
    * changed CBitmap::draw() rect argument to be const (dito for drawTransparent and drawAlpha)

2009-09-27 arne

    * added CNinePartTiledBitmap (original from Wolfram)
    * moved all destructors into protected for classes which are not allowed to create on the stack
    * added amalgamation file vstgui_uidescription.cpp for all uidescription files
    
2009-09-19 arne

    * splittet vstcontrols.cpp into different files
    * added CCheckBox control

2009-09-16 arne

    * major directory change
        * all main VSTGUI source code went into the lib subdirectory
        * splittet vstgui.cpp into different files (vstcontrols.cpp should follow)
        * vstgui.cpp will still be alive but it will be the amalgamation file
    * removed all deprecated methods and classes
    * minimum supported system on Mac OS X will be 10.4 (needs check if it's possible to build on 10.4)
    * minimum supported system on Windows will be Windows XP. (Windows 98 support will be dropped, but not completely done yet)
    * removed all Quickdraw stuff (was only needed for Mac OS X 10.3)
    * changed CBitmap (CFrame& frame, CCoord width, CCoord height) to CBitmap (CCoord width, CCoord height)
    * removed Mac Metrowerks compiler support

2009-09-15 arne

    * CFontDesc refactored, so that custom Font Renderer could be used
    * Add global alpha state to CDrawContext
    * set version to 4.0

2009-07-15 arne

    * bump version info to 3.6 in all source/header files
    * merge of vstgui_350

        branch changes:

        2008-01-14 yvan

            * add include malloc for windows
            * remove CBitmap (void* platformBitmap) constructor
            * GDIPlus is by default enable
            * add win project for tutorial

        2008-01-12 arne

            * fix a flaw in removing views from containers

        2008-01-10 yvan

            * update copyright and some documentation

        2007-12-11 arne

            * added closePolygon parameter to CDrawContext::drawPolygon. Now you can draw opened and closed polygons.
            * fix some GDI bugs : 
                - wrong drawing of CDrawContext::drawEllipse
                - CDrawContext::getStringWidth does not always work
            * CFileSelector should work now in Unicode mode on Windows
            * added virtual destructors for IDataBrowser, IScrollbarDrawer

        2007-10-12 wolfram

            * added virtual destructors for IMouseObserver, CControlListener and IMultiBitmapControl

2009-07-02 arne

    * added numSubPixmaps to IMultiBitmapControl and removed it from its subclasses.
    * fixed an issue with CDataBrowser where the mouse moved method of the delegate was not called when the scroll view was scrolled via the mouse wheel
    * added kMsgViewSizeChanged message which is send from a view to its parent when the size changed.
    * added CFrame accessor method to VSTGUIEditorInterface
    
2009-06-14 arne

    * changed focus and popup handling of COptionMenu. When the menu takes focus it doesn't popup anymore. This way you can build
        full keyboard accessible plug-ins. Now if the menu has focus and the return key is pressed the menu will popup.
        You may need to change some of your code, if you manually called menu->takeFocs() change it to menu->popup()

    * added keyboard hook for CFrame (see IKeyboardHook)
    * added keyboard handling to IDataBrowser
    * moved background drawing in CParamDisplay in its own method drawBack() and changed drawText() method by removing the newBack parameter

    * fix CScrollView::makeRectVisible()
    * fix crash in COptionMenu when calling getEntry(index) with index higher than number of items in menu
    * fix CViewContainer::addView (view, beforeView)
    
2009-06-06 arne

    * make CDataBrowser autosize aware
    * CScrollView: when there is a new focus view in the scroll view, the scroll view automatically make this view visible now
    * CScrollView: don't use CViewContainer drawBackgroundRect, instead it draws it itself
    * CScroolView: fixes to scrolling when used with VSTGUI_FLOAT_COORDINATES
    * CTabView: autosize fixes
    * CTabView: tab views are now resized to the size of the tab view minus the size of the tab buttons
    * CTabView: add a view inset point to add a gap between the tabview and it's children
    * COnOffButton is now a focus view (if it has focus you can change the value of it with the return key)
    * CParamDisplay: new CPoint member textInset which is used to inset the size for drawing the text
    * add tag value to CMenuItem
    * changed the constructors of CMenuItem
    * changed CParamDisplay::setBackOffset() to take a const CPoint reference instead of a CPoint reference
    * added CParamDisplay::getBackOffset()
    * COptionMenu can now be used simpler for on the fly context menus. (Empty constructor + popup method)
    * fix CViewContainer::drawBackgroundRect when no background bitmap but a color is drawn (sometimes the context draw state was not as expected)
    * CFontDesc got some metric methods (only implemented yet for CoreText on Mac OS X)
    * CDrawContext::drawArc() should now draw exactly the same on Windows and Mac OS X
    * fixes to the focus handling in CFrame
    * CViewContainer new method: isChild (CView* view, bool deep)
    * ResourceStream class can now be used outside of vstgui.cpp
    * Cocoa: fix for wrong key modifier. CONTROL and COMMAND were swapped
    * Cocoa: make view click-through
    * Cocoa: many more bug fixes
    
2009-05-06 arne

    * fix: calling GDIPlusGlobals::exit () in the destructor of CBitmap after the platform gdiplus bitmap is destroyed not before
    * notify all parent views when a view takes or looses focus
    
2009-04-26 arne

    * Cocoa drawing now draws all dirty rects seperatly instead of the union rect
    * added another method to provide the BundleRef on Mac OS X (search for VSTGUI_NEW_BUNDLE_REF_DEFINITION)
    * removed old unused menu item definitions from vstcontrols.h

2009-03-30 arne

    * fix CFrame::scrollRect and CScrollView scrolling
    * Cocoa implementation for CFrame::scrollRect
    * fix some warnings when building for Mac OS X 10.5 or above

2009-03-08 arne

    * fix nervous tooltips

2009-02-21 arne

    * move methods only useable with VST in CFrame into the ENABLE_VST_EXTENSION_IN_VSTGUI macro
    * can be compiled under Mac OS X 10.4 again

2009-01-02 arne

    * fix a possible memory leak when compiling Cocoa support in
    * removed some duplicated code
    * removed some unused functions in vstgui.cpp (CColor2RGBColor, RGBColor2CColor)
    * fix bugs in UTF8StringHelper
    * Windows implementation calls frame->onMouseExited() now when the mouse leaves the window
    * dropping text on Windows will use unicode text if VSTGUI_USES_UTF8 is enabled
    * CNewFileSelector implementation for Windows Vista, older Windows versions still needs implementation
    * implementation for missing COptionMenu features on Windows (Icons & prefix numbers)

2008-12-07 arne

    * fixes to cocoa tooltip implementation
    * the platform implementation should call frame->onMouseExited() when the mouse leaves the platform view/window
    * added onMouseDown(..) to IMouseObserver
    * fix warnings when building with gcc4.2

2008-12-06 arne

    * cocoa tooltip implementation
    * added onMouseMoved(..) to IMouseObserver
    * small usability improvements to the tooltip implementation
    * added CView::removeAttribute(..)

2008-10-23 arne

    * fix crash in CMenuItem::setTitle and CMenuItem::setKey
    * fix string width calculation with CoreText
    * make mac compile again if the new fileselector is turned off

2008-10-20 arne

    * fix key steeling from host in cocoa code

2008-09-09 yvan

    * fix compilation when LIBPNG is used and win64

2008-09-24 arne

    * removed the CBitmap (void*) constructor
    * added CBitmap (CGImageRef) constructor
    * added CBitmap (GdiPlus::Bitmap*) constructor

2008-07-30 arne

    * calling invalid instead of setDirty when adding or removing a view from a view container
    * added #pragma comment( lib, "Gdiplus" ) when GDIPLUS is enabled

2008-07-29 arne

    * fix bug with setCurrent in COptionMenu and added method getCurrentIndex
    * fix some warnings on Windows

2008-07-16 arne

    * complete cocoa implementation
    * some documentation for the new fileselector class
    
2008-05-15 wolframfranke

    * Fixed compilation errors and warnings when compiling for 10.3.9 on the Mac.

2008-04-29 arne

    * fix mac 64 bit build
    * eleminate most warnings for mac build
    
2008-04-27 arne

    * first part of a new file selector implementation (currently only mac is implemented)
    * timer class on Mac uses 64 bit safe API now
    * using double type instead of float for CCoord if VSTGUI_FLOAT_COORDINATES is defined
    * first part for Cocoa to register objective-c classes on the fly
    * Cocoa is only available if building for Mac OS X 10.5 or later

2008-04-21 wolframfranke

    * Fixed memory leak of 1 menuItem in COptionMenu::removeAllEntry ().
    
2008-03-26 wolframfranke

    * Fixed crash in COptionMenu when it is empty.
    * Added virtual destructors for IMouseObserver, CControlListener and
      IMultiBitmapControl.
    * Virtualized CParamDisplay::drawText to allow overriding in inherited classes.
    
2007-11-08 arne

    * COptionMenuScheme is deprecated
    * removed CParamDisplay::setTxtFace and getTxtFace
    * CoreText support for building 64 bit variant on Mac OS X.
    * refactoring of COptionMenu, menu items have their own class (CMenuItem) with support for Icons. (Windows not completely done yet)
        Source code changes may occur as item states are not encoded in the title anymore
    * some cocoa fixes
    * autosizing support for views
    
2007-10-16 arne

    * Cocoa support (except CTooltipSupport and CFileSelector)

2007-10-08 arne

    * created vstgui_350 branch

2007-10-03 arne

    * add visible state for CView
    * onMouseExited wasn't called on Mac OS X when mouse leaves the frame
    * changed order for setDirty (false) and invalidRect (size) in CView::invalid () which should fix some issues with non drawing updates
    
2007-08-17 arne

    * Unicode support for Windows (CFileSelector is not completely done yet)
    * CDrawContext::drawRect should draw the same now with Quartz and GDI+
    * initial fixes to support VSTGUI_FLOAT_COORDINATES for GDI+ (but there a many problems, so it's useless at the moment)
    
2007-08-05 arne

    * CSlider should work with non normalized values if you set setMinValue and setMaxValue

2007-07-28 arne

    * use compositing window on windows only if running under vista
    * fix a typo in CFrame::getBackBuffer() which leads to screen flicker under Windows XP
    * use frame window for CFileselector if ENABLE_VST_EXTENSION_IN_VSTGUI is zero
    * add fix from Julien for Drag&Drop from Internet Explorer 7
    * fix Logic 7 white rectangle drawing on editor close
    
2007-07-01 arne

    * added new method to CTabView to use custom control as tab switch button
    
2007-05-20 arne

    * fixed a bug in CViewContainer::onKeyDown/onKeyUp, method result was always -1
    
2007-03-31 arne

    * more on doxygen documentation
    * changed CTextEdit::setText (char* txt) to CTextEdit::setText (const char* txt)
    * changed typedef of CViewAttributeID to unsigned int from unsigned long
    
2007-03-25 arne

    * fix a TextEdit issue on Windows
    * fix a CVuMeter issue when using an Offscreen and no background bitmap (thanks to Boris)
    * CTooltipSupport for Windows (only XP or above)
    * many GDI+ fixes and enhancements (no need for libpng with GDI+ anymore)

2007-01-23 arne

    * merged stuff from timo and wolfram (mainly GDI+ stuff)
    * added some CRect methods

2006-12-15 arne

    * added copy constructors for all CView classes
    * changed back order of loose focus message in CTextEdit. Destroying of CTextEdit objects should be done in the parent view not in the controller.
    * added method CViewContainer::getContainerAt (const CPoint& p, bool deep) which returns the view container at point p.
    * added method CViewContainer::addView (CView *pView, CView* pBefore) to place a view before another view in the internal list.
    * added method CRect::unite (const CRect& rect) to unite two rects.
    * added resizing to view attributes
    * initial mac 64 bit support

2006-11-30 arne

    * moved CDrawContext::scollRect to CFrame class
    * check for null pointer in CScrollView::notify
    * fix CDrawContext::drawArc on Mac
    * add inline function MakeCColor to vstgui.h

2006-11-19 arne

    * more doxygen documentation
    * fixed a CDataBrowser draw issue
    * changed most of the control constructors to use const CPoint instead of CPoint
    * changed drag/drop implementation on Mac OS X to use the Pasteboard Manager (if building for 10.3 or above)

2006-11-02 arne

    * Implemented Offscreen stuff on Mac OS X without the need of quickdraw (and fix Offscreen drawing on mac with and without quickdraw)
    * In CTextEdit::looseFocus changed order of loose focus message handling and valueChanged notification so that you can call takeFocus in valueChanged or destroy the textedit control in there.
    * Fixed memory leak and possible crash in CTextEdit if someone tries to call takeFocus on the textedit while inside valueChanged of the listener.

2006-09-15 arne

    * Removed Mac OS 9 code and Quickdraw code (also the QUARTZ & MACX macro definition, only MAC is left)
    * add tab index variable to CTabView
    * AEffGUIEditor updated for VST 2.4
    * Windows 64bit CFileSelector changes
    * fix: don't propagate mouse move message with button state to views other than the mouse down view if there is one

2006-06-25 arne

    * fix a crash bug in GDI+ bitmap loader, when the bitmap does not exist

2006-06-23 arne

    * add new view : CDataBrowser

2006-06-02 arne

    * add method to CScrollView to show a specific rect

2006-05-10 arne

    * quartz: moved CBitmap completly to Image I/O in Mac OS X >= 10.4. The downside is, that you can only set the transparent color once.
    * CBitmap::setTransparentColor needs to be called explicilty now. The default behaviour is now that there's no transparent color initially.
    * removed BEOS code
    * when changeing the size of the container in CScrollView another parameter controls if the visible area should stay the same.
    * new working implementation of CSplashScreen

2006-04-28 arne

    * more bugfixes for CScrollView
    * quartz: some changes to line and rect drawing (offset the transformation matrix by 0.5,0.5 for better visibility)
    * the mouse move message is now propageted to the underlying view even if no mouse button is pressed

2006-04-13 arne

    * new files vstguidebug.cpp/.h
    * bitmaps can be loaded by id or by name now
    * loose focus bugfix (the loose focus message is now propagated threw all parent views as long as the message is not processed)
    * cleaned up mouseOverView code in CFrame/CViewContainer
    * bugfix for CFrame::setSize
    * some bugfixes for CScrollView and CScrollBar
    
2006-01-15 arne

    * Font changes: CFont removed. New CFontDesc class for custom fonts. You need to change all references of CFont to CFontRef.
    * add UTF-8 text drawing with GDI+
    * more doxygen docu

2006-01-06 arne

    * remove old drawing code. VSTGUI draws only when the system calls it to do so.
    * changed CViewContainer addView and removeView to return a bool value
    
2005-12-21 arne

    * new function CDrawContext::scrollRect
    * minor fixes to CScrollView
    * fixed 3D drawing in CParamDisplay (was drawing outside its bounds)

2005-12-19 arne

    * per default USE_NAMESPACE is 1 now if you don't define it
    * some more deprecated functions in CDrawContext
    * moved VSTGUIEditorInterface and CDropTarget into VSTGUI namespace

2005-12-16 arne

    * CControl::getTag() is virtual now
    * fixed some stuff with CDrawContext inside the DEPRECATED functions
    * added some more documentation
    * reorganized GDI+ initialization

2005-12-11 arne

    * moved mouse methods from CDrawContext to CFrame where it makes sense
    * added kDoubleClick to button state, so that you don't need the old way to call waitDoubleClick
    * more GDI+ stuff (it's much faster now)
    * removed tooltip handling
    * added mouse observer interface to CFrame (tooltips could be handled this way in a more generic fashion, see the CTooltipSupport class)
    * renamed CReferenceCounter to CBaseObject and moved the notify method to it
    * reorganized doxygen documentation
    * changed implementation of CView::attached and CView::removed. If you overwrite them, always call the super class implementation also. 
        And because of this and the way modal views are handled CSplashScreen needs to be rewritten (not done yet).
    * added check for unreleased CViews when DEBUG is set

2005-11-22 arne

    * new handling of deprecated methods (on mac osx with gcc you get a warning now when using these methods)
    * declared more methods as deprecated
    * per default deprecated methods are compiled in, you can change this with the macro VSTGUI_ENABLE_DEPRECATED_METHODS=0
    * initial support for Unicode (using UTF8 at the moment)
    * added CView::parentSizeChanged() and CView::getVisibleSize()
    * fix some mouse wheel coordinate errors
    * fix problems with ENABLE_VST_EXTENSION_IN_VSTGUI
    
2005-09-23 arne

    * proper handling of attached and removed calls of CView (if you overwrite them, always call its parents implementation)
    * mac: working again with non composited windows
    * CScrollView uses proper stepping algo (at least if the mac implementation is considered as proper ;-)

2005-09-21 arne

    * mac: make it compatible again with Mac OS X < 10.4
    * mac: complete new mouse handling
    * adding CVSTGUITimer class, currently needed in CScrollView
    * win: added new mouse handling
    * win: first GDI+ stuff (oh it's slow, slow, slow ... needs much work I guess)

2005-09-08 arne

    * added some kind of tooltip support
        - if the mouse comes over a view which has a kCViewTooltipAttribute, the tooltip view, which can be set on the frame, is changed to the string in the attribute
    * fix some stuff with the new mouse handling
    
2005-09-02 arne

    * added new interface class for communicating stuff between CFrame and Editor : VSTGUIEditorInterface.
    * because of this the macro PLUGGUI is obsolete and removed.
    * specific VST stuff is now enclosed by ENABLE_VST_EXTENSION_IN_VSTGUI like the CFileSelector stuff, where the host is asked about showing a File Chooser. If you need it, define it and set it to 1.
    * AEffGUIEditor is now subclassed from AEffEditor and VSTGUIEditorInterface (the most common compiler error now is, that you need to include "aeffguieditor.h" in your editor class header)

2005-08-31 arne

    * new mouse handling (onMouseDown, onMouseUp, onMouseMoved, onMouseEntered, onMouseExited)
      but the old mouse method is still working, if the new methods are not implemented by the super class
    * drawing is now triggered by system events, so drawing outside of the draw method is deprecated

        This means :
        - all class methods which took a CDrawContext pointer will be changed except the draw methods.
        - you call view->invalid () instead of view->setDirty (true) from the User Interface thread.
        - value changes from other threads will be checked on idle and the views are marked invalid.

        Benefits :
        - less hacks
        - less code
        - cleaner differentiation of drawing and user action.
        - works better with hosts which don't follow the VST spec.

    * added controlBeginEdit and controlEndEdit to CControlListener

2005-08-22 arne

    * branched for 3.0 (vstgui_300)
    * removed all MOTIF code
    * some code cleanup
    * set version to 3.5

**********************************************************************************************************************
VSTGUI 3.0 branch
**********************************************************************************************************************

2005-08-12 arne

    * initial support for X/Y mouse wheel (currently only macosx, don't know how ms windows handles this)
    
2005-07-29 arne

    * bugfix: CDrawContext doesn't remember font style and does not change the font if only the font style changed.
    * quartz: keyboard event handling works now, so that hosts will get all key events we don't handle.
    
2005-07-22 arne

    * quartz: little optimization in CDrawContext::beginCGContext
    * quartz: cleaned up the event handler
    * stop advancing focus if the last focusable control has focus.

2005-07-22 arne

    * fixed a regression bug in AEffGUIEditor, where idle() was not called
    * only CKnob and CSlider want focus, as they are the only controls handling key strokes.

2005-07-14 arne

    * moved CFileSelector in its own file
    * quartz: fixed some bugs with COffscreenContext

2005-07-09 arne

    * the CView::draw method now draws the background image if it has one.
    * new CFrame::updatesDisabled method to lock idle updates.
    * bug fix for overlapping control drawing.
    * add a style to COnOffButton so that the listener can be called before doIdleStuff is called.

2005-07-02 arne

    * windows: CFrame uses a backbuffer now when USE_ALPHA_BLEND is on. This fixes a performance issue with some graphic cards.
                The drawback at the moment is, that drawing can only occur when the CFrame calls the views to draw. You can not draw anymore
                by creating your own drawcontext.

2005-06-25 arne

    * adding keyboard focus navigation
    * add bool bWantsFocus to CView. If this is set the view is included in keyboard focus navigation.

2005-06-24 arne

    * merge newframe back to main
    * fixed some gcc warnings

2005-05-13 arne

    * quartz: if the CFrame is embedded into a window composited window, the setSize(..) method does not resize the window anymore.
    * quartz: some window compositing fixes
    * the tabs in a CTabView can be aligned
    * mac os x: quartz will be used per default now

2005-05-05 arne

    * added CBitmap::setNoAlpha(..) and CBitmap::getNoAlpha(). You can set this for PNG images which don't have an alpha channel to speed up drawing on windows.
    * quartz: some window compositing fixes

2005-04-30 arne

    * windows: with libpng, when a bmp image was loaded, don't use AlphaBlend instead use old BitBlt.
    * quartz: non png images can be drawn with transparent color again.

2005-04-29 arne

    * added CTextLabel
    * mac: the CFrame can be placed into HIScrollViews
    * mac: using static objects for Quicktime GraphicsImporter to speed up loading of images
    * mac: using CGImageCreateImageInRect on 10.4 for faster drawing of clipped images

2005-04-11 arne

    * removed CFrame::isSomethingDirty
    * added a check in CViewContainer::isDirty if the subview is inside the view container size
    * fix for overlapping views not drawn everytime
    * quartz: fix some drawing bugs

2005-03-25 arne

    * quartz: fix drawing of transparent bitmaps when OLD_TRANSPARENT_BITMAP_MODE is defined
    * fix a bug for quickdraw's CDrawContext::setClipRect
    * quartz: on composited windows, the ctextedit creates a native UnicodeTextControl instead of an MLTE Object
    * a try to fix redraw problems if the system sends a redraw and some views won't get updated completly
    * changed the implementation of CView Attributes. Documentation removed. Will be updated before the 3.0 release.

2005-03-05 arne

    * fixed a memory leak on windows with IDropTarget (thanks bigtick)
    * add automatic initialization of the xpos and ypos vars in the CSpecialDigit constructor (thanks bigtick)

2005-02-18 arne

    * new coordinate typedef CCoord, so that we have the possibility to change the coordinate system to floating point
    * small bugfix in CDrawDevice::drawRect
    
2005-01-04 arne

    * the following CDrawContext methods have a new optional parameter "CDrawStyle": drawPolygon, drawRect, drawArc, drawEllipse.
      the draw style is either kDrawStroked, kDrawFilled or kDrawFilledAndStroked.
    * added another cursor : kCursorHand
    * fixed some problems compiling the code on microsoft windows.
    * fixed some problems with alphablending bitmaps on windows.
    * added example plugguieditor.cpp file to be used for non VST usage. (There's an example AU plug in the drawtest module)
    * added CTabView class.
    * changed constructor of AEffGUIEditor to take a void instead of an AudioEffect pointer, so that subclassing 
      either from PluginGUIEditor or AEffGUIEditor is as simple as possible.

2004-11-29 arne

    * started to clean up the code (check your code, many methods in CView, CViewContainer & CFrame are declared const now)
    * started to make a better documentation (see the headers), more to come
    * renamed pEditView in CFrame to pFocusView as well as setEditView to setFocusView and getEditView to getFocusView ;-)
    * the following methods in CView are now deprecated : setParentView, setFrame, getFrameTopLeftPos
    * removed old windows drag&drop code
    * use generic rgb color space for quartz code
    * fix an issue with quartz and OLD_TRANSPARENT_BITMAP_MODE when the transparency color changed
    * some drawing optimizations
    * new method in CDrawContext to draw multiple lines at once : CDrawContext::drawLines ()
    * if you call beginEdit in any CControl class the control will be the focus view now

2004-10-03 arne

    * added generic attributes interface to the CView class (see CViewAttributes.rtf)
    * added CFrame::setPosition to change the location of the view inside it's parent view (mac quartz only at the moment)
    * some mac quartz bugfixes
    * some bugfixes for CScrollView
    * added localToFrame and frameToLocal methods to CView
    * bugfix for CViewContainer::getCurrentView (). Didn't work for nested containers (W.Franke)
    * quartz: CFrame::getSize returns the size of the mac control now instead of the window
    * CViewContainer::getViewAt changed so that you can get the deepest view at that position
    * CControls set now the editView of the frame on beginEdit and set it to zero at endEdit (W.Franke)
    
2004-08-30 arne

    **** bump version to 3.0 !
    
    * change CView::getParent to CView::getFrame
    * correct implementation of beginEdit and endEdit in all CControls, you should change your code of custom controls from getParent->beginEdit (tag) to beginEdit () ;-)
    * new drawArc method in CDrawContext which takes angels as parameters
    * added some kind of runtime type information.
    * mac: changed the kInfinitySymbol to be 'oo' as the mac character is not available in Helvetica
    * added two new cursor types (kCursorCopy & kCursorNotAllowed). (Currently only for Mac OS X, Windows will follow)
    * complete new drag & drop implementation. Now all views can react if something is dragged over it.
    * some fixes to the update methods when drawing with offsets and COffscreenContexts.
    * mac: the macro 'CARBON' is changed to 'TARGET_API_MAC_CARBON' as this is what the Mac OS itself uses.
    * mac: compiling with VSTGUI as namespace works now
    * mac: use current API for creating menus. (fixes some bugs with the old implementation, where you could not create menuitems like "-3db")
    
2004-08-25 arne

    * mac: change COptionMenuScheme implementation to be optional as it only works for OSX Version >= 10.3 (macro: MAC_ENABLE_MENU_SCHEME)

2004-08-15 arne

    * added CView::acceptDrop. On Mac OS this changes the mouse cursor if a view accepts a drop. For Windows there is currently no action. But it should follow. And maybe it will change so that a real tracking is possible.
    * with the new update mechanism the modal view is now updated first in CFrame::update, to make sure it will be drawn in all circumstances, even if it is transparent and a view below it is dirty.

2004-08-06 arne

    * quartz:   - cache the CGImageRef, so that it is not created every time the CBitmap is drawn. (Performace will be much better with the next os release)
                - remove the SetPort/GetPort stuff in AEffGUIEditor. It is not needed anymore.

2004-07-30 arne

    * better streamlined mechanism for CViewContainer::update (you can turn this off, if it does not work for you in vstgui.cpp with the NEW_UPDATE_MECHANISM macro at the top)
        this is not tested with Containers using offscreens (but should work). This should fix the problem that non-transparent containers were not really nestable.
    * quartz: removed the focus handlers for now as most hosts does not set the focus back on their windows if someone clicks into it. This way they get all key downs again.
    * added setListener() to CControl
    
2004-07-12 arne

    * quartz: fix a bug in COffscreenContext::copyTo if the offsetScreen point of the context is not at 0:0

2004-06-28 arne

    * quartz: fix clipping issues
    * fix a bug in CViewContainer's update method if the container is transparent and embedded into another CViewContainer

2004-06-26 arne

    * the modal view is now added to the frame like all other views.
    * added a reference counting class. CView, CBitmap and CDrawContext are subclasses of it.
    * clip handling is more consistent now.
    * some quartz changes:  - first try to implement CDrawDevice::drawArc (not yet finished)
                            - COffscreenContext is now more implemented, copyTo works in most situations
                            - native mac controls can now be embedded into the frame, but it does only work correct with compositing enabled windows
    
2004-06-20 arne

    * AEffGUIEditor::draw will now draw only the rectangle it should, or as in the past the whole editor if no rect is given.
    * windows: 64 bit compatibility

2004-06-12 arne

    * CFrame is now subclassed from CViewContainer (thanks Wolfram Franke for the hard work)
      - One thing to check: CFrame::removeView was declared with (CView *pView, const bool &withForget = false), this has changed to 
        (CView *pView, const bool &withForget = true). So if you have somewhere in your Code frame->removeView (view) you must change it
        to frame->removeView (view, false).
    * mac: FDebugPrint implementation for Classic and Mac OS X
    * changed the CColor unused member variable to be alpha all over the place (no more MS C++ internal compiler error)
    * macosx: the CFileSelector can now be used to get unix path strings. If vstFileSelect->future[0] is 1 the internal implementation will 
                return unix paths and set vstFileSelect->future[0] to 0. If the host supports openFileSelector vstFileSelect->future[0] will
                be 1 and the results are in the old FSSpec format.
    * the CFileSelector is now usable when PLUGGUI is set.
    * using clipping all over the place
    * quartz: rechecked the whole graphics drawing functions to work as expected

2004-05-31 arne

    * mac: COptionMenuScheme works now with QUARTZ (Mac OS X 10.3 and above)
    * mac: QUARTZ implementation of CDrawContext::drawEllipse and fillEllipse 
    * added a global COptionMenuScheme variable, if set all menues will use it
    * fix a possible crash in COptionMenu::mouse (thanks Wolfram Franke)

2004-05-22 arne

    * moved pBackgroundBitmap and its accessors into CView from CViewContainer, CFrame and CControl as suggested by Wolfram Franke
    * mac: added implementation for quartz CBitmap::CBitmap (CFrame &frame, long width, long height) 
    * windows: prevent a free memory read in UDropTarget::Release (submitted by Justin Caldicott)

2004-04-27 arne

    * changed CControlListener and added a method to intercept modifier clicks so the listener can decide if the control should handle
      this click. This makes it easy to implement some kind of 'MIDI Learn' functionality.
      Note: you need to implement this new method in your CControlListener, otherwise there will be compile errors. If you don't want 
            this feature, just return 0.
    * changed all controls to support the new CControlListener method.
    * mac: bugfix for CTextEdit::takeFocus under quartz.
    * mac: changed fonts from arial to helvetica as on some OS X installations arial is not installed.
    
2004-04-17 arne

    * windows: support for alpha blended images like it is on Mac OS X with quartz
           note: this implementation uses libpng (macro is USE_LIBPNG)
    * CDrawContext::setClipRect uses the offset now
    * COptionMenu::getSubMenu added
    * mac: fixed some quartz drawing stuff
    * mac: fix for CFrame::getPosition with quartz
    * mac: removed CARBON_EVENTS macro as it only works with QUARTZ
    
2004-04-11 arne
    
    * CViewContainer should be completely nestable now
    * mac: implemented the quartz offscreencontext for existing bitmaps
    
2004-03-23 arne

    * CTextEdit use the CParamDisplay::stringConvert functions to draw text
    * Fix of possible crash in CFileSelector::run
    * CFM Carbon plugs can now draw text antialiased even if the host does not support it
    (Thanks to Wolfram Franke for this stuff)

    * mac: added waitDoubleClick and waitDrag with carbon events

2004-03-19 arne

    * add CView::getFrameTopLeftPos method to get the topleft position of the view relative to the frame
    * call AEffGUIEditor instead of AudioEffectX for beginEdit and endEdit
    * mac: small changes to allow to use a CDrawContext on every Window even those without a CFrame

2004-03-01 arne

    * mac : fix for RGBA Bitmaps on Displays with less than million colors

2004-02-16 arne

    * mac : fix compile error in CDrawContext::getMouseLocation when compiling for CFM plugs

2004-02-06 arne

    * mac : focus fix

2004-02-01 arne

    * add empty CBitmap constructor for easy subclassing
    * mac : add beginEdit/endEndit hook for AudioUnits
    * windows : fix for CFrame::setSize for Orion submitted by Ben Allison

2004-01-02 arne

    * mac: corrected code for right mouse click with carbon events

2003-12-15 arne

    * fix a typo in COptionMenu::mouse
    * mac: fix a typo in CDrawContext::setLineStyle
    * mac: fix for CDrawContext::getMouseLocation problem with DP 4
    * mac: on compositing windows the control is now added to the kHIViewWindowContentID if it exists.
    * mac: should compile on Mac OS X 10.2 again if CARBON_EVENTS are defined.
    
2003-12-05 arne

    * fix compile problem of COptionMenu::takeFocus on Windows

2003-12-04 arne

    * fix for nested CViewContainers
    * Mac: fix for using vstgui for other than VST ;-)

2003-11-15 arne

    ***************
    *** WARNING ***
    ***************
    existing code need to be changed !!!
    You need to change your CView::mouse methods to add the buttons parameter and your calls to CDrawContext::getMouseLocation inside CViews should be changed to call CView::getMouseLocation instead.
    ***************
    
    * fixed the CViewContainer stuff with Quartz.
        NOTE :  I had to change the way how the view can get the current mouse location. It has to ask itself now as the CView class can 
                check if it is embedded into a CViewContainer which the CDrawDevice couldn't.
    * all mouse methods get another parameter: long buttons

    Mac Only:
    * changed the drag and drop stuff for Carbon Events
    * With CARBON_EVENTS == 1, CFrame acts now like a Mac Toolbox Control. It works even on compositing enabled windows and on non left-top positions. 

2003-11-12 arne

    * Bugfix for CFrame::setSize for hosts which support "audioMasterSizeWindow" submitted by Justus Henkmann (TC Works)

2003-10-10 arne
    
    * Bugfix for COptionMenu::addEntry submitted by Nicolas Bronnec

2003-09-18 arne

    * incorporated Marc Poirier's CTextEdit fixes
    * quartz: bugfix in drawString, set cliprect so that the text won't draw outside
    * carbon events: some code cleanup

2003-09-17 arne

    * Added Carbon Events handling (#define CARBON_EVENTS 1)
    * Implemented QUARTZ drawing. (#define QUARTZ 1)
    * CSlider doesn't use a COffscreenContext for drawing on MacOSX anymore

    Quartz Notes:
        - Not all graphic operations we use in vstgui have an equivalent in quartz.
            Currently unsupported are : 
                - all drawing modes except kCopyMode
                - getPoint ()
                _ floodFill ()
                - copy from Screen to Offscreen

        - to support alpha drawing on all operations I have made changes to CColor. The 4th variable is now the alpha value where 255 is opaque and 0 is transparent.
        - transparent bitmap drawing is now handled with the alpha value of the bitmap, if you want the old behaviour turn on OLD_TRANSPARENT_BITMAP_MODE
        - because of some strange things with CViewContainers while doing mouse downs the drawcontext has an offset which results in wrong drawing. This needs to be fixed !!!

Generated on Fri Nov 22 11:09:27 2013 for VSTGUI by  doxygen 1.6.1