Maciej Suminski
2027222074
Upstream merge
2013-12-19 11:15:27 +01:00
Maciej Suminski
84af2eb8e1
Fixed SetCurrentContext() assert, that was firing on closure of pcbnew, when the OpenGL backend was active.
2013-12-05 14:54:30 +01:00
Maciej Suminski
fc7798b7d7
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
Maciej Suminski
ee289e4a30
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Maciej Suminski
e66a4ce337
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
8253899a70
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
276d867ab2
Some more comments and code formatting.
2013-09-27 16:23:43 +02:00
Maciej Suminski
8ea74c38c3
Fixed cvpcb build.
2013-09-24 16:12:02 +02:00
Maciej Suminski
5789f20794
Added protection from redrawing while GAL backend is being switched.
2013-09-24 16:00:21 +02:00
Maciej Suminski
404bfdcf30
Changed VIEW::PrepareTargets() to more appropriate name VIEW::ClearTargets(). Added SELECTION layer to always-on-top list.
2013-09-13 11:28:47 +02:00
Maciej Suminski
87d81a6d92
Mouse movement events are sent during autopanning, as the cursor position changes in the world coordinates (even if it stays still in the screen coordinates). It allows tools to update their state, as if the mouse was moved.
2013-09-13 10:26:08 +02:00
Maciej Suminski
c1e1502d35
Merged Tom's branch
2013-09-12 17:42:28 +02:00
tomasz.wlostowski@cern.ch
61778974a4
EDA_DRAW_PANEL_GAL: redraw stuff in a single place, with "coalescing"
...
Redraws can be requested way too often than it is required. This commit adds redraw timeout:
- if the view became dirty and there has been no redraw for longer than certain time, it is redrawed immediately
- otherwise, we wait for the next frame
This in general improves smoothness of rendering.
2013-09-12 11:40:16 +02:00
tomasz.wlostowski@cern.ch
a384290356
EDA_DRAWPANEL_GAL: set focus on mouse enter to catch all key events
2013-09-09 17:07:03 +02:00
Maciej Suminski
02f7e9c800
Changed focus owner of LayerWidget to EDA_DRAW_PANEL_GAL to make keyboard events work (apparently everything works fine, to be tested more extensively).
...
Removed unnecessary event hook from EDA_DRAW_PANEL_GAL.
2013-09-06 17:53:01 +02:00
Maciej Suminski
3b046c409b
Changed way of naming VIEW_ITEM update flags to be more explicit.
...
VIEW_ITEMs save the layer numbers they use, it allowed to speed up removal of items.
2013-09-02 11:49:46 +02:00
Maciej Suminski
d62e474850
Reduced displayed events information.
2013-08-29 12:03:57 +02:00
Maciej Suminski
86c29e23df
Added cursor snapping.
2013-08-28 16:25:42 +02:00
Maciej Suminski
cebdb43234
Added mouse cursor drawing.
...
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
eca53baf6f
Fixed linking errors for apps other than pcbnew.
2013-08-26 10:43:22 +02:00
Maciej Suminski
b518569674
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Maciej Suminski
339cf51c0c
Added VIEW_GROUP for grouping items to be displayed on a single layer.
2013-08-20 15:07:38 +02:00
Maciej Suminski
57979f3c9b
Smarter way of the overlay rendering (overlay is always refreshed, while cached&noncached targets only if the viewport or items have changed).
2013-08-19 11:02:38 +02:00
Maciej Suminski
eb290bf362
Added some comments.
2013-08-09 15:21:31 +02:00
Maciej Suminski
5920137968
Removed frame limiter.
2013-08-07 09:37:28 +02:00
unknown
0c6e180937
Merged Orson's changes
2013-08-02 17:28:09 +02:00
unknown
1a19c761ae
pcbnew: hooked Tool Framework into the edit panel. Added a sample selection tool (not fully functional).
2013-08-02 16:53:50 +02:00
Maciej Suminski
2331742384
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
75eb5491d5
Code refactorization. VBO_CONTAINER is split to [NON]CACHED_MANAGER, GPU_MANAGER and VERTEX_MANAGER.
2013-07-22 10:41:12 +02:00
Maciej Suminski
e77690c268
Added the 'cached' parameter for VIEW_LAYER. The parameter decides if items drawn on the layer should be cached or drawn in immediate mode.
...
Removed m_useGroups from VIEW, as now groups are enabled per layer.
2013-07-04 17:02:20 +02:00
Maciej Suminski
b79c17b43c
Reduced frame limit.
2013-07-04 14:21:40 +02:00
Maciej Sumiński
a1f81bbe97
Shaders are built-in instead of being loaded from external files.
2013-06-30 19:31:16 +02:00
Maciej Suminski
e1aa6f7e84
Grid settings apply to GAL based rendering.
2013-06-24 14:33:02 +02:00
Maciej Suminski
316f7309a1
Bug fixes:
...
- VBO_CONTAINER::allocate() was returning wrong value in case of error
- framelimiter had wrong formula for computing destined period between frames
- removed _padding field from VBO_VERTEX, as it was not speeding up, but wasting memory
2013-06-20 13:16:12 +02:00
Maciej Suminski
ff75a28080
Added a framerate limiter.
...
Now it does not use all the CPU power while panning even on simple boards.
2013-06-20 09:58:18 +02:00
Maciej Suminski
198052358e
Added GAL_TYPE_NONE as an indicator of GAL uninitialized state.
2013-06-18 16:19:30 +02:00
Maciej Suminski
2d5f342ee8
Switching to OpenGL using shaders backend on the fly (changed keyboard shortcuts: different backends are available using Alt+F9..F12).
2013-06-04 16:18:33 +02:00
Maciej Suminski
85a2aee79c
Introducing shaders.
...
Shader's parameters are stored in VBO_ITEM. Changed VBO_ITEM data structure. Added UseShader() function for selecting shader for a given VBO_ITEM.
Added one main vertex & fragment shader program to be used for with all kinds of items (type of shader is selected using attributes that are stored in VBO). Currently available shaders are: at-least-1px-width line, filled circle and stroked circle.
Removed unnecessary param (aDepthOffset) from a few functions (OPENGL_GAL::drawSemiCircle(), OPENGL_GAL::drawLineCap()). Removed function OPENGL_GAL::DrawRoundedSegment(). Changed some asserts to debug info or error log.
2013-06-04 15:58:53 +02:00
Maciej Suminski
1d0ca22572
Different way of measuring render time.
2013-05-16 17:17:35 +02:00
Maciej Suminski
d76671a601
Items are not recached until GAL is changed (earlier it was done on every rendering backend switch).
2013-05-15 09:17:42 +02:00
Maciej Suminski
817cf192c8
Fixed build for eeschema.
2013-05-14 10:46:43 +02:00
Maciej Suminski
7b426e8103
Fixed memleak, removed excessive recaching, still there is a problem with Cairo caching
2013-05-10 16:05:40 +02:00
Maciej Suminski
56aabe20bc
Introduction of VBO. Now only tracks are rendered in a very simple way.
2013-04-30 15:59:32 +02:00
Maciej Suminski
85a3b72c71
wxWidgets 2.8 compatibility fix.
2013-04-23 18:20:45 +02:00
Maciej Suminski
3289c6c305
Modified shaders' source path.
2013-04-23 09:52:51 +02:00
Maciej Suminski
98addf78b4
Some cleanup.
2013-04-19 18:19:20 +02:00
Maciej Suminski
ec9e283d34
Fixed resize issue (moved GAL panel into pane).
...
Tidied up event handlers.
2013-04-18 11:20:19 +02:00
Maciej Suminski
b8d88f0dc5
Removed flickering in Cairo-based rendering backend.
2013-04-16 11:43:13 +02:00
Maciej Suminski
698bc0cdac
Cleanup
2013-04-16 11:16:27 +02:00
Maciej Suminski
f2c4fa2b46
Introduced Cairo-based rendering backend using GAL.
...
Moved switching canvas routines to pcbnew, as they are used only there right now (otherwise libgal would have to be linked to every Kicad application).
2013-04-15 17:57:03 +02:00