Commit Graph

304 Commits

Author SHA1 Message Date
Emil Segerås
7c9ef0cc5b cmake compilation fixes 2014-07-28 14:26:18 +02:00
Emil Segerås
67119ca815 cmake update: compiler settings for msvc. 2014-07-28 13:45:06 +02:00
Emil Segerås
6d5322f40b cmake update: Use WinMain on windows. 2014-07-26 13:34:22 +02:00
Emil Segerås
afa14e70cc Added cmake build files. Work in progress. 2014-07-26 11:18:41 +02:00
Emil Segerås
8cac9c9eb8 Added configuration defines for default platform implementations.
Makes it easier to control stuff using a shared build system.
2014-07-25 21:26:11 +02:00
Emil Segerås
944fb88bf5 Improved window positioning in some more cases. 2014-05-29 13:41:39 +02:00
Emil Segerås
55ad6d1343 Fixed incorrectly encoded source file.
Visual studio scrambled the utf-8 at some point.
Also reduced the number of default rendered glyphs.
2014-05-29 13:33:20 +02:00
Emil Segerås
45de1c3be0 Fix for broken rendering after minimizing window in Demo on windows. 2014-05-20 21:56:28 +02:00
Emil Segerås
16e13dc622 Changed listener API for OnWidgetAdded/OnWidgetRemoved.
NOTE: Local listeners are now called on the parent widget instead of the child!
It makes more sense to use a listener to listen for additions/removes in a certain
widget, than listening to when a specific widget is added/removed anywhere.
2014-05-20 21:56:27 +02:00
Emil Segerås
fbc5a8139c ResourceEditWindow should open files on drop. 2014-05-20 21:56:26 +02:00
Emil Segerås
29f0f68b45 Workaround for glfw keyboard issue on linux.
Fixed issue #10
2014-05-18 21:46:55 +02:00
Emil Segerås
b5fab7570e Fixed so Demo windows adapt better to high DPI skin.
-Position and sizes should of course be read as dimensions (dp by default).
-MoveIn and clip windows after getting preferred size.
2014-05-01 13:35:01 +02:00
Emil Segerås
3d8843acd7 Fixed shortcut keys on osx. 2014-04-26 20:18:45 +02:00
Emil Segerås
66e2c349bf Switched to glfw version 3.0.4 for demo. 2014-04-21 14:51:53 +02:00
Emil Segerås
d6c9c0b720 Moved GLFW defines to makefile (linux/mac). 2014-04-21 14:45:34 +02:00
Emil Segerås
e690e301c4 Moved GLFW defines to project (windows). 2014-04-21 14:34:44 +02:00
Emil Segerås
ebd3d111f0 Added EVENT_TYPE_FILE_DROP, and CUSTOM.
Extend TBWidgetEvent by making it a TBTypedObject instead of adding even
more to it. Should perhaps refactorize it, but that will require lots of changes.

Implemented EVENT_TYPE_FILE_DROP for upcoming version of glfw (not used yet).
2014-04-21 13:48:08 +02:00
Emil Segerås
4d50b23b73 Use constexpr ids for setting default skin on widgets. 2014-03-16 13:31:34 +01:00
Emil Segerås
dcff225d04 Worked around bad scheduling in windows demo backend. 2014-03-02 21:45:58 +01:00
Emil Segerås
c5c7670a23 Added testing of constantly busy message handler. 2014-03-02 21:45:54 +01:00
Emil Segerås
47636e061a Fix timer reschedule bug in demo app.
When non-delayed messages where fired repeatedly, the
reschedule method didn't schedule after the first time.
2014-03-02 21:45:07 +01:00
Emil Segerås
7c94d3b2bb Fixed incorrect file reference in visual studio project file. 2014-02-25 21:04:30 +01:00
Emil Segerås
71a6880c1b Minor layout change in demo menu.
Let the debug window button stick to bottom if not pushed out by other content.
2014-02-21 21:19:22 +01:00
Emil Segerås
bb06e7996c Added styled text to TBButton example.
Removed old comment. New way of doing things is to build like lego.
With widgets as building blocks, build whatever you want. Instead
of implementing everything :)
2014-02-12 20:38:29 +01:00
Emil Segerås
559b05b108 Cleanup of old layout test. 2014-02-09 20:44:51 +01:00
Emil Segerås
8c5a2cbf96 Added configuration defines for font systems & stb image loader.
Also added stb_truetype.h so it works out of the box just by enabling it.
2014-02-06 21:09:51 +01:00
Emil Segerås
0371a401ac Make tb_config.h overridable in application (easier to use tb project for multiple projects).
The library now search for tb_config.h in the solution directory first.
2014-02-06 20:33:08 +01:00
Emil Segerås
d9f260fc92 Mention touch input emulation in demo. 2014-02-04 21:50:30 +01:00
Emil Segerås
32c270258a Added demo screenshot 2014-02-03 21:05:23 +01:00
Emil Segerås
c0398463fe Renamed library project. 2014-01-16 21:08:13 +01:00
Emil Segerås
87e6f55feb Moved all source files.
Perhaps all includes should also have path added, like "tb/tb_foo.h",
but i'll save this for later.
2014-01-16 21:05:29 +01:00
Emil Segerås
36ae602ca9 Moved default_font, default_skin, icon and vera.ttf. 2014-01-16 21:04:52 +01:00
Emil Segerås
4e44d19115 Moved language files 2014-01-16 21:04:24 +01:00
Emil Segerås
bc3d360b03 Renamed project namespace. 2014-01-16 21:03:56 +01:00
Emil Segerås
c711425946 Renamed project in resources & documentation. 2014-01-16 21:03:10 +01:00
Emil Segerås
d17cf8e661 Renamed methods for core init/shutdown. 2014-01-16 21:03:07 +01:00
Emil Segerås
2dcc17500a Make TBAnimationManager the entry point for animation methods. 2014-01-08 21:19:51 +01:00
Emil Segerås
c3b3b3fe0c Moved animation files to tinkerbell core. 2014-01-07 21:26:01 +01:00
Emil Segerås
a7ee83a914 Renamed animation objects.
Should be preceeded with TB.
2014-01-07 21:14:24 +01:00
Emil Segerås
03c0680c1b Moved some unused utils out to tb_animation_utils.h
These objects might go away when the animation system is improved.
2014-01-07 21:07:02 +01:00
Emil Segerås
cb26d88c9f Renamed widget animation objects.
Should be preceeded with TB.
2014-01-07 21:00:16 +01:00
Emil Segerås
040ad1a34b Renamed tinkerbell.cpp/h to tb_core.cpp/h 2014-01-06 12:35:02 +01:00
Emil Segerås
7eb2e33bcd Moved misc classes to dedicated files. 2014-01-05 14:29:26 +01:00
Emil Segerås
b0e83a9673 Support for node references and conditions. Fixes #1.
Also fixed compact parsing of colors without quotes.
2013-12-27 13:27:33 +01:00
Emil Segerås
62c1265a89 Fixed some incorrect data type conversions. 2013-12-09 20:39:28 +01:00
Emil Segerås
82761e9628 Moved stb_image to thirdparty subfolder. 2013-12-08 13:49:24 +01:00
Emil Segerås
9828e8f37b Updated project files to new glfw path. 2013-12-08 13:24:02 +01:00
Emil Segerås
477472f607 Added glfw in Demo/thirdparty/glfw 2013-12-08 13:12:51 +01:00
Emil Segerås
2c63e8c502 Removed glfw 2013-12-08 12:52:07 +01:00
Emil Segerås
603851f6ca Constraints part from layout improvements branch.
This change optionally pass constraints down through hierarchy
when measuring. Axis specific dependency information is bubbled
back up (so future multi-pass layout may take further action).

This enables f.ex wrapping textfields to adapt to content a bit
better, but all layout is still done in a single pass (Still WIP
on the layout branch)
2013-11-16 20:31:32 +01:00
Emil Segerås
9dee4df8bb Added 288 & 384 dpi versions of the default skins.
Still missing some bitmaps i currently don't need though.
2013-11-14 20:38:32 +01:00
Emil Segerås
91523dbf1a Upgraded demo to GLFW 3.0.3 to fix osx compilation error. 2013-10-31 18:23:47 +01:00
Emil Segerås
a24fba18ac Renamed TBGlobalWidgetListener -> TBWidgetListener. 2013-10-27 15:52:34 +01:00
Emil Segerås
dfb578e89a Refactorized batching into new TBRendererBatcher.
So it can serve many renderer backends.
2013-10-09 07:14:57 +02:00
Emil Segerås
b5d70cd4ea Renamed TBParser.h -> tb_parser.h.
Now all source file names are consistent!
2013-10-01 19:57:16 +02:00
Emil Segerås
b466b915ed Moved & renamed parser/TBNodeTree.h to tb_node_tree.h.
It's not part of the parser at all.
2013-10-01 08:10:12 +02:00
Emil Segerås
f294f85afc Added option to create missing nodes on get. 2013-09-21 20:51:03 +02:00
Emil Segerås
897c61c723 Relayout TBScrollContainer if adapt properties change.
Also added adapt setting in ResourceEditWindow.
2013-09-21 20:12:05 +02:00
Emil Segerås
9291b072fc Cleaned up & changed layout a bit on demo resources. 2013-09-14 20:07:26 +02:00
Emil Segerås
c8480297ac Moved event debugging to runtime debug window.
Listens to all events globally.
2013-09-04 07:42:26 +02:00
Emil Segerås
924196e947 Added fragment debug drawing to runtime debug window. 2013-09-01 20:23:50 +02:00
Emil Segerås
918c43bf57 Added TBRegion.
Should be useful for a lot of stuff.
2013-08-28 07:48:01 +02:00
Emil Segerås
e8328c8f1b Fixed encoding on source files. 2013-08-28 07:47:16 +02:00
Emil Segerås
aa28bfb27a Avoid glfw typing bug on osx.
There's several bugs left though.
Hopefully fixed in upcoming glfw releases.
2013-08-09 10:27:19 +02:00
Emil Segerås
3555d89ee3 Compilefix for osx with glfw 3.0.1. 2013-08-09 10:07:15 +02:00
Emil Segerås
a54be1bc5a Removed compilation warning. 2013-08-08 11:02:21 +02:00
Emil Segerås
d73e3d56a2 Fixed compilation for windows using glfw 3.0.1. 2013-08-08 10:59:04 +02:00
Emil Segerås
961164d261 Fixed key combinations for linux & mac.
GLFW is now consistent across platforms and the WIN32 ifdef can be removed.

Also use the new window user pointer instead of global backend pointer.
2013-08-08 10:07:32 +02:00
Emil Segerås
a836d60619 Fixed key press repeat. 2013-08-07 20:24:29 +02:00
Emil Segerås
1660f57197 Updated to glfw 3.0.1 and fixed compilation errors. 2013-08-07 20:24:29 +02:00
Emil Segerås
0f255ebea9 Moved demo fonts to demo folder. 2013-07-13 16:49:46 +02:00
Emil Segerås
c0241d173e Added touch event emulation to glfw demo app to make testing easier. 2013-07-10 21:05:56 +02:00
Emil Segerås
8c25e04e39 Major improvements to pointer/touch input:
List of changes:
-Refactorized virtual scroll methods and introduced virtual GetScrollInfo.
-Added TBScroller to do slow down scroll after panning.
-Added TBScrollerSnapListener for snapped smooth scrolling.
-Added keyboard scroll support in TBScrollContainer and TBSelectList.
-Added possibility to cancel EVENT_TYPE_CLICK for current touch (stopping scroll should not cause click)
-Added flag to TBWidgetEvent to distinguish cursor base pointer events from touch events (Fixes issue #2).
 --Pan TBEditField on touch pointer events instead of doing selection scroll.
 --Touch events should not result in setting the hover state automatically.
2013-07-10 21:03:44 +02:00
Emil Segerås
0342c25bf4 Updated visual studio projects to use toolset v110. 2013-06-19 20:21:41 +02:00
Emil Segerås
8bbfdc4390 Added runtime debug setting for render batch info.
Shows how inefficient the default renderer batcher is.
2013-06-15 21:16:42 +02:00
Emil Segerås
aa3001cc9b Runtime debug settings:
-Moved config defines and debug defines to dedicated files.
-Made debug settings slightly more handy (change stuff runtime instead of toggling defines and recompile everything).
2013-06-15 21:16:41 +02:00
Emil Segerås
f41641aedb Optimized triangle throughput slightly on some compilers. 2013-06-02 19:44:57 +02:00
Emil Segerås
93b5b89dc3 Added test of button with multiline text. 2013-04-16 22:05:25 +02:00
Emil Segerås
c8267eff72 Updated customized item source test:
-Added test where TBSelectDropDown is using the custom item source.
-Fixed typo.
-Test custom filter.
-New layout & Inflate the item widget from resource.
-Sort list (shows a bug when deleting items)
2013-04-16 21:59:22 +02:00
Emil Segerås
e97a1109c5 Moved GetAlignedRect out to new class. Expand to target width by default for top/bottom alignment. 2013-04-04 19:01:11 +02:00
Emil Segerås
fc1e6b6fa0 Let click through in resource editor if alt is pressed. 2013-03-29 14:36:46 +01:00
Emil Segerås
a0903b12d1 Updated some demo layouts a bit. 2013-03-29 14:30:59 +01:00
Emil Segerås
b5a9d47227 Renamed some resource attributes to be more consistent. 2013-03-22 21:42:42 +01:00
Emil Segerås
9973b84b16 The generic widget data should be TBValue so it can hold anything. 2013-03-20 21:57:30 +01:00
Emil Segerås
a073e5fca3 Changes to dimensions handling:
- Don't switch TBValue type when going from string to number (preserves numbers unit).
 - Fixed so parser handles numbers with units correctly.
 - Removed TBPx16. Everything is converted to pixels anyway and it was inconsistently used.
2013-03-04 18:28:41 +01:00
Emil Segerås
b07606013f Moved TBMenuWindow to separate file, and split it up into TBMenuWindow and TBPopupWindow. 2013-03-04 18:14:37 +01:00
Emil Segerås
ef7ad709f8 Fixed batching bug, visible with the CJK font test.
The batch wasn't always flushed when the oldest glyphs (bitmapfragments) was kicked out of the fragment map.
2013-01-30 21:12:45 +01:00
Emil Segerås
eef2d81a70 Added tests in demo for inflating widgets into non-layouting widgets. 2013-01-23 21:59:36 +01:00
Emil Segerås
5608f2c699 Fix for inflating widgets into non-layouting widgets.
Now the children gets positioned & resized correctly on inflate.
This also optimizes inflate into layouting widgets since they can skip doing resize twice.
2013-01-23 21:45:53 +01:00
Emil Segerås
547d4594b9 Changed the type system implementation.
- Moved the type code our from TBWidget to new TBTypedObject.
- Work with template generated unique class id, instead of using strcmp on class names.
- Use template functions similar to dynamic_cast.
- Added unit tests.
2013-01-19 21:33:29 +01:00
Emil Segerås
9e854aea21 Fixed gcc compile warning and issue reported by valgrind. 2013-01-19 10:59:38 +01:00
Emil Segerås
7acf95c912 Demo resource edit crash fix. 2013-01-17 20:59:27 +01:00
Emil Segerås
00760613be Changes to override skin and added element patching.
Override skin is now just adding and patching elements into the same
skin. Makes it both simpler, more powerful and faster.
2013-01-17 20:45:21 +01:00
Emil Segerås
ea3753d265 Updated copyright header. 2013-01-05 08:31:47 +01:00
Emil Segerås
ead45b9137 Added android test code. 2012-12-31 15:09:43 +01:00
Emil Segerås
18dd588552 Made it possible to set font from resource.
Also added unit tests for TBPx and TBColor.
2012-12-30 16:11:46 +01:00
Emil Segerås
8852933f0f Added multiple DPI support in skin. 2012-12-22 16:12:40 +01:00
Emil Segerås
9c4f472ea4 Added EVENT_TYPE_SHORTCUT and moved shortcut keybindings to platform code. 2012-11-28 20:45:58 +01:00
Emil Segerås
9f2c1c3ce3 Repositioned demo windows a bit. 2012-11-14 22:40:51 +01:00
Emil Segerås
bd306a80a7 Init animation manager automatically from Application integration and added AnimationBlocker. 2012-11-13 22:04:32 +01:00
Emil Segerås
a958a811f5 Don't enforce "gravity: all" on TBTabContainer. 2012-11-13 18:48:16 +01:00
Emil Segerås
0d63626a06 Fixed incorrect result from DrawRectFill when it's the first call since BeginPaint. 2012-11-13 18:25:45 +01:00
Emil Segerås
9a7968cc07 Move demo & integration files to more suitable folders. 2012-11-13 18:25:41 +01:00
Emil Segerås
1451647d93 Separate the demo code from the demo integration and renderer. 2012-11-13 18:24:59 +01:00
Emil Segerås
26be187db1 Added edge fadeout to editfields too and moved to util file. 2012-11-11 10:49:27 +01:00
Emil Segerås
b22ceb0013 Minor GL backend fixes.
-Increased batch size.
-Changed default window size.
-Compilefix for GLES.
2012-11-08 20:02:00 +01:00
Emil Segerås
e84eb1bef0 Added animation curve Smooth. 2012-11-04 11:18:38 +01:00
Emil Segerås
f53314b253 fixup! Renamed port_glut.cpp -> port_glfw.cpp 2012-11-03 17:36:25 +01:00
Emil Segerås
b53c816c42 Only invoke context menu action on release of GLFW_KEY_MENU. 2012-11-03 17:29:21 +01:00
Emil Segerås
1f14a27d61 Renamed port_glut.cpp -> port_glfw.cpp 2012-11-03 17:25:42 +01:00
Emil Segerås
c70b0fe9ab More skin improvements. 2012-11-03 17:16:24 +01:00
Emil Segerås
69a5cb05e3 Improved skin. 2012-11-03 10:45:54 +01:00
Emil Segerås
9198c7bcb3 Fixed makefile and compilation for mac. 2012-11-01 21:08:43 +01:00
Emil Segerås
70321ae449 Moved clipboard implementations to dedicated files. Also turned hardcoded value into system getter. 2012-10-17 20:42:10 +02:00
Emil Segerås
729c0534a3 Dummy msg loop stuff and makefile changes to get glfw running on linux. 2012-10-17 20:29:24 +02:00
Emil Segerås
876d672721 Document build process and new timer functions. 2012-09-18 18:54:27 +02:00
Emil Segerås
a803129cfa Fixed timer bug on windows.
Windows SetTimer callback sometimes fire *before* the delay has elapsed,
causing the ProcessMessages to not process any messages and since the
next fire time will be exactly the same the reschedule didn't happen.
2012-09-18 18:20:59 +02:00
Emil Segerås
0800eeb3e9 Removed note about switching from freeglut 2012-09-16 21:12:34 +02:00
Emil Segerås
fee08e5698 Switched to glfw 2012-09-16 21:09:52 +02:00
Emil Segerås
59533400d6 Added submodule for glfw 3 (unfinished work branch) 2012-09-16 20:40:44 +02:00
Emil Segerås
ec9b7054bb Removed freeglut 2012-09-16 20:34:05 +02:00
Emil Segerås
5381d56436 Changed parsing order of skin padding.
Makes it consistent with CSS which might make some people happy.
2012-09-15 17:49:23 +02:00
Emil Segerås
36cd2a71fe Made TBWidget members private. 2012-09-15 17:17:59 +02:00
Emil Segerås
7f363571ad Move some classes from tb_select.h/cpp to new files. 2012-09-08 19:03:13 +02:00
Emil Segerås
aa12df5758 Work on model/view API's for TBSelectList:
Now the viewers can be updated when the model (item source) is changed.
Moved demo ListWindow code to separate files and fixed some related stuff.
2012-09-08 18:38:23 +02:00
Emil Segerås
52bdbb95f4 Made flags combination type safe with some operator overloading on enums. 2012-09-08 11:39:25 +02:00
Emil Segerås
13f4a4a89f Added note about freeglut incompability with visual studio 2012. 2012-09-03 18:15:29 +02:00
Emil Segerås
4443d110bc Changed state section name for overlays from "overlay" to "overlays".
Made it consistent with other state sections.
2012-09-01 14:50:46 +02:00
Emil Segerås
7316882b70 Added group look for TBButton skin. 2012-09-01 14:45:04 +02:00
Emil Segerås
701bc3f676 Enabled multiprocess compilation 2012-08-25 14:33:24 +02:00
Emil Segerås
7325f95f1a Moved readme & integration text files to tinkerbell project. 2012-08-25 13:09:08 +02:00
Emil Segerås
5aaf4aea50 Fix for static library linking.
Enabled "Use library dependency inputs" because otherwise many
used classes gets optimized away (visual studio bug?)
2012-08-25 13:07:35 +02:00
Emil Segerås
7ee0ac9d94 Moved tinkerbell to static library (separate project) 2012-08-25 13:05:02 +02:00
unknown
5237bdda84 Merge branch 'master' of C:\Users\Emil Segers\Dropbox\tinkerbell\gitrep\tinkerbell 2012-08-20 07:56:41 +02:00
Emil Segerås
f31a40925a Moved fps checkbox in demo to the resource. 2012-08-19 17:14:04 +02:00
Emil Segerås
e2b837f323 Fixed typo 2012-08-19 15:06:14 +02:00
Emil Segerås
a378f5e4fa Renamed some demo resource files 2012-08-13 20:41:18 +02:00
Emil Segerås
3c21fba7c8 Added TBToggleContainer & TBSection etc.
Automates some really tedious UI tasks.
2012-08-12 12:45:09 +02:00
Emil Segerås
3ca2a46336 Fixed typo in file headers. 2012-08-05 16:33:37 +02:00
Emil Segerås
2bf5b22926 Compilefix for gcc. 2012-08-05 16:32:28 +02:00
Emil Segerås
92b914c290 Added comment in demo text. 2012-07-31 21:26:00 +02:00
Emil Segerås
ff7ae6e30e Choose the closest available font size, instead of failing if no exact match. 2012-07-29 18:15:01 +02:00
Emil Segerås
6e037b4c95 Added styling as setting to TBMessageWindow. 2012-07-29 14:33:47 +02:00
Emil Segerås
b114bb623d Added edit type search and added inline search icon (with custom skin condition property!) 2012-07-29 14:30:02 +02:00
Emil Segerås
a43c52bbd6 Merge branch 'master' of C:\Users\emil\Documents\My Dropbox\tinkerbell\gitrep\tinkerbell 2012-07-28 21:24:02 +02:00
Emil Segerås
5ca6d672b4 Renamed IsParentOf -> IsAncestorOf. 2012-07-28 21:23:46 +02:00
Emil Segerås
a0be5a60d5 Changed long demo text to multi line syntax. 2012-07-28 11:24:21 +02:00
Emil Segerås
11b391520d Added parser unit tests, and support multiline syntax for text. 2012-07-28 10:54:02 +02:00
Emil Segerås
9731141071 Set the correct path on startup. 2012-07-26 21:29:46 +02:00
Emil Segerås
dfd6063e16 Made string concatenation with TBTempBuffer a little more convenient. 2012-07-26 21:28:54 +02:00