aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-05-04remove semicolon after namespaceAlexander Sulfrian106-127/+111
Class definitions have to end with a semicolon but not namespaces. So remove this everywhere.
2014-04-30fix problems with gcc >= 4.7Alexander Sulfrian2-3/+5
2014-04-08utils/colors: move colors into subdir, add hsvAlexander Sulfrian11-50/+273
All color classes are now in an own subdirectory with a short name. The new class HsvColor represents the Hue/Saturation/Value color model and comes with conversion functions to and from rgb colors (currently integer arithmetic without optimization for higher presicion).
2013-01-21menu/timer: use base/timestampAlexander Sulfrian3-15/+9
2013-01-21utils/activator: removed unnecessary templateAlexander Sulfrian4-18/+51
2013-01-21menu/application: add is_runningAlexander Sulfrian2-0/+7
2013-01-21menu/application: add quit() to quit the app from everywhereAlexander Sulfrian2-5/+11
2013-01-21menu/application: add free to allow multiple runsAlexander Sulfrian3-1/+9
free() is used to reset the instance of this singleton, so that it gets recreated on the next access. This allows multiple creation/deletion cycles (for example in the tests).
2013-01-21menu/text: check error state firstAlexander Sulfrian1-2/+1
2013-01-21base/time: use float value to force float resultAlexander Sulfrian1-1/+1
2013-01-20menu/drawable_control: add signals for mouse eventsAlexander Sulfrian2-0/+18
2013-01-20fix includesAlexander Sulfrian19-10/+52
2013-01-20menu/drawable_control: add static member for debug boxesAlexander Sulfrian2-6/+21
2013-01-20menu/drawable_control: fix focus with clippingAlexander Sulfrian1-0/+1
2013-01-18menu/control: add include to fix build for gcc 4.6Robin Nehls1-0/+1
2013-01-18menu: add mouse manager for handling mouse focus and clicksAlexander Sulfrian5-0/+246
2013-01-18menu/mouse_event: add wrapper for mouse events to detect dbl-clicksAlexander Sulfrian2-0/+143
2013-01-18menu: add get_component_at to get componentAlexander Sulfrian4-0/+49
This is the basis for mouse focus handling.
2013-01-18menu/application: toggle debug boxes with dAlexander Sulfrian1-0/+5
2013-01-18drawable_control: add focusable propertyAlexander Sulfrian3-2/+21
drawable controls could now disable the ability to receive focus
2013-01-18text: resize text, if auto_size is enabledAlexander Sulfrian1-2/+4
Change the default for auto_size to false, so that it is not automatically resized during construction.
2013-01-18rectangle: add possibility to get dimensionAlexander Sulfrian1-0/+5
2013-01-18menu/container: add window_coords_changeAlexander Sulfrian2-2/+30
The children container of a container have to be notified if the window coordinates of the parent changed. The children have to recalculate their own window coordinates.
2013-01-18menu/static: remove empty lineAlexander Sulfrian1-1/+0
2013-01-18menu/static: add getter for vertices_countAlexander Sulfrian2-0/+6
2013-01-18utils/rectangle: add is_in(Point)Alexander Sulfrian1-0/+15
Add possibility to check whether a Point is inside the rectangle.
2013-01-18utils/rectangle: add + and =+ operator to move rectangleAlexander Sulfrian1-0/+19
Points could be added to rectangles and moves the rectangle by this amount.
2013-01-18utils/rectangle: add set_leftAlexander Sulfrian1-0/+7
2013-01-18menu: mouse events now take points, not the single coordsAlexander Sulfrian4-16/+18
2013-01-18base/timestamp: add class to store a point of timeAlexander Sulfrian2-0/+108
2013-01-18base/time: make get_time static, constructor protectedAlexander Sulfrian2-3/+18
The Time class does not have any state so the get_time method could be static. Because the Time class now has only static methods, deny creation by making the ctor protected.
2013-01-18base/time: removed unused RelativeTimerAlexander Sulfrian2-110/+0
2013-01-18menu: fix calculate window coordinatesAlexander Sulfrian4-4/+15
2013-01-13menu/software_mouse_pointer: implement pressed stateAlexander Sulfrian2-4/+65
2013-01-13menu/event_manager: add more mouse eventsAlexander Sulfrian4-3/+13
2013-01-13menu/background_*: vertices are only recalculated if the size changedAlexander Sulfrian4-20/+66
The size of the parent component is cached by the backgrounds and the vertices to draw the backgrounds are only calculated again, if the size of the parent component changed.
2013-01-13menu/background_image: remove the unused texture colorAlexander Sulfrian2-6/+1
2013-01-13menu/texture: implement GlDelayedAllocation interfaceAlexander Sulfrian6-45/+58
Textures are now initialized during their first use, destroyed after their last used and could be use with the Activator.
2013-01-13utils/image: add shortcut to get image size as DimensionAlexander Sulfrian2-0/+8
2013-01-13add const where applicableAlexander Sulfrian4-14/+22
2013-01-13menu/background: use boost::noncopyableAlexander Sulfrian1-10/+7
2013-01-13menu/gl_delayed_allocation: add helper for opengl allocationAlexander Sulfrian2-0/+159
opengl allocation could not be done in the constructor of the opengl objects. The opengl calls only have effect when called form the opengl thread, but the objects could be constructed from other threads. The analogous applies to the destruction. This helper handles the allocation on first use from the opengl thread and frees the resources while calling dispose before real destruction (see Disposable). If dispose is called from the opengl thread, it frees the resources immediately, but if dispose is called from another thread it waits (blocks) until the next use from the opengl thread is complete.
2013-01-13utils: add disposer helperAlexander Sulfrian3-0/+158
The disposer helper should be used to encapsulate disposable objects. This objects have to cleanup something before deconstruction and so you need to help dispose before destruction of the object. The disposer takes care for you. On destruction of the disposer, it calls dispose of the encapsulated object and then destroy it, too. So you do not need to remember to call dispose manually.
2013-01-13utils: add activator helperAlexander Sulfrian2-0/+93
The activator should be used to encapsulate activatable objects. It calls enable on construction and disable on deconstruction. It should be used for example to enable some opengl settings, while the activator object is used in local scope. It ensures, that the opengl setting get disabled, if the scope is left even when throwing an exception.
2013-01-13menu: add some commentsAlexander Sulfrian6-6/+61
2013-01-13utils/dimension: add == and != operatorsAlexander Sulfrian1-8/+11
2013-01-13menu/application: add possibility to query if ogl threadAlexander Sulfrian2-0/+11
opengl calls should only executed in the thread, that created the opengl context. To query whether the current thread is the opengl thread, the application class stores the current thread id of the opengl thread after initializing opengl.
2013-01-13menu: use RgbColor.get_array(?) magic everywhereAlexander Sulfrian6-65/+13
2013-01-13menu/text: basic handling of auto sizeAlexander Sulfrian2-0/+18
If auto_size is false the control is setup clipping, so that the outside parts of the control gets discarded. If auto_size enable, the drawn parts outside the component rectangle are drawn. TODO: currently the component dost not really change its size. This could be necessary for sensible regions.
2013-01-13menu: code style: change naming of bool-getter to is prefixAlexander Sulfrian7-9/+9