aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu/drawable_control.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* menu/drawable_control: always cache modelview matrixAlexander Sulfrian2013-01-131-12/+17
| | | | | | Some controls modify the modelview matrix during drawing their contents. Restore it afterwards, so that other parts could be drawn easily on top.
* menu: use boost::shared_mutexAlexander Sulfrian2013-01-131-11/+19
| | | | | Use everywhere a mutable boost::shared_mutex to enable locking during const getter and the multiple reader and single writer pattern.
* remove legacy keywords from file headerAlexander Sulfrian2013-01-131-2/+0
|
* menu: generalized frame_background to backgroundAlexander Sulfrian2013-01-131-2/+32
| | | | | | | | | background could now be a background for all DrawableControl instances each subclass should call the parents draw() during executing the draw() method for background painting TODO: background should know the size of the control to only draw the background there
* menu/clipping_helper: made clipping workingAlexander Sulfrian2013-01-131-5/+1
|
* menu/contianer: element position should be relative to the container positionAlexander Sulfrian2013-01-131-2/+0
| | | | | | container should provide each of the containing elements' draw functions with its own position as base (store before drawing the first element and restore it after each drawing)
* menu/container: clipping requires window coordinatesAlexander Sulfrian2013-01-131-1/+4
| | | | | | glScissor only work with window coordinates. to calculate that a control has to know it position on the window and therefor the parent container have to track the position in the window
* menu/container: cleanup while destruction of containerAlexander Sulfrian2013-01-131-4/+9
| | | | | | | | while a container is destructed, the parent of all containing controls will be removed, so that the controls it self do not try to unregister itself from the destroyed container later (while destruction the control class of the container and destroying all slave controls)
* menu/drawable_control: added size to controls and clip drawing if requestedAlexander Sulfrian2013-01-131-3/+57
| | | | | | if requested (set_clipping_required) DrawableControl will use ClippingHelper to setup glScissor befor drawing the content. container will request clipping by default
* menu/drawable_control: added position, glTransform to position before drawingAlexander Sulfrian2013-01-051-2/+37
| | | | | software_mouse_pointer does not need an own position anymore and simply draw it without position change
* menu/drawable_control: added repaint, that reinitialize the gl environmentAlexander Sulfrian2013-01-051-0/+9
|
* menu: frame should not be added to container item listAlexander Sulfrian2013-01-051-3/+21
| | | | | | | | | | | if a frame is constructed, it needs a container as parent to get the size of it, but it should not be in the container item list and should be painted first, to be under every component the inner classes are used as helper classes, to be able to call a virtual method in the constructor of drawable_control to decide whether to add the control to the controls list of the container or not
* menu/drawable_control: added logAlexander Sulfrian2013-01-051-0/+3
|
* menu: Container could contains and draw DrawableControlsAlexander Sulfrian2013-01-051-2/+9
| | | | | | DrawableControls register/unregister itself during construction/destruction at the Container (supplied as owner) and get automatically drawn
* added parent to controlAlexander Sulfrian2013-01-051-1/+2
| | | | parent is used to delete the objects if the parent is deleted
* started gui frameworkAlexander Sulfrian2013-01-051-0/+38
renamed menubackground to framebackground and splited out framebackgroundcolor created control as base class renamed draw to repaint and on_draw to draw in drawable implemented drawablecontrol as base for all visible controls on windows created container (subclass of drawablecontrol) that could contain other drawablecontrols created frame (subclass of container) with a background added openGL ldflag