Maciej Suminski
4262915b38
Code formatting.
2016-05-02 15:56:10 +02:00
Maciej Suminski
0cfa360390
Added VERTEX_MANAGER::Reserve() function.
2016-05-02 15:56:10 +02:00
Bernhard Stegmaier
3e2b4244f9
OSX: add support for wxMagnifyEvent on OSX builds using wxWidgets 3.1.0 or greater.
2016-01-24 19:18:29 -05:00
Maciej Suminski
4951285a67
GAL::DrawPolygon() and GAL::DrawPolyline() variants that work with VECTOR2D array.
2016-01-20 15:16:39 +01:00
Maciej Suminski
9b4d12653e
FIxed the drawing layer for arcs (GAL).
2015-12-03 15:05:53 +01:00
unknown
c1b46e6ed8
Fix bug Bug #1519590 (gal cannot start on surface book)
2015-11-29 07:50:25 +01:00
Maciej Suminski
247f018075
FIxed rendering artifacts in OpenGL canvas.
2015-09-09 10:49:25 +02:00
Maciej Suminski
0386a4df94
Bulletproof canvas switching.
2015-08-21 10:33:36 +02:00
jean-pierre charras
1c9115ee91
opengl_gal: fix a strange but already encountered issue on Ubuntu/Unity when switching to GAL: the dialog which test the opengl version was never raised, and the Pcb editor frame partially no more responding to menu events.
...
Also fix a bug: this test dialog was never destroyed.
2015-07-13 10:46:05 +02:00
Maciej Suminski
51c0ae3480
Fixed cursor offset in GAL.
2015-07-01 03:46:42 +02:00
Maciej Suminski
d3c7b45438
Corrected GAL canvases screen size, so they do not include scroll bars.
2015-06-30 14:08:35 +02:00
Garth Corral
6eaf029a0e
Pinch to zoom for OS X.
2015-05-21 22:54:29 +02:00
Maciej Suminski
48a74dba37
Added missing 'def'
2015-05-21 00:47:53 +02:00
Maciej Suminski
420c1d1bcd
Changed the patch to support full resolution on Retina screens to be more bulletproof.
2015-05-21 00:42:46 +02:00
Maciej Suminski
6fc59f9acd
Full resolution in OpenGL canvas on Retina displays
2015-05-18 13:48:12 +02:00
Maciej Suminski
709697ea40
Better way to determine supported OpenGL version and extensions.
2015-04-20 14:16:41 +02:00
Maciej Suminski
7480bcf1ae
Yet another desperate trial to fix the depth buffer issues.
2015-04-17 12:15:25 +02:00
Maciej Suminski
4dae107dab
Alternative depth range in OpenGL GAL.
2015-03-30 22:14:37 +02:00
Maciej Suminski
9e8719d3ff
Fixed overlapping segment endings in OpenGL view.
2015-03-30 14:09:56 +02:00
Eldar Khayrullin
5d8f7ba0e6
bugfix: cannot draw 180 degree arc in OpenGL canvas
2015-03-09 10:26:29 +01:00
jean-pierre charras
39497b109e
Pcbnew: fix Bug #1422093 (pcbnew crashes after editing a footprint cominng from the board with the fp editor and saving it on a librray and trying to load it to the board)
...
Some other very minor fixes.
2015-02-17 17:32:47 +01:00
Maciej Suminski
b1ace1607b
Reworked GAL switching.
...
Now OpenGL can report its problems instead of shutting down the application.
2015-02-15 02:18:35 +01:00
jean-pierre charras
d4e04dcc97
Fix bugs detected by Cppcheck.
2015-01-19 20:03:50 +01:00
Maciej Suminski
490a73b62a
Fixed filled arcs drawing (GAL).
2014-08-06 13:51:46 +02:00
Maciej Suminski
a57f7ae8cd
Fix OpenGL canvas freeze under Windows.
2014-07-20 21:14:42 +02:00
Maciej Suminski
0fc93666c6
Rework to support multiple views with OpenGL GAL canvas.
2014-07-09 11:22:42 +02:00
Maciej Suminski
d27ea7895d
Moved background color settings from GAL to RENDER_SETTINGS. Added RENDER_SETTINGS::TranslateColor() to convert between EDA_COLOR_T and COLOR4D.
2014-05-14 10:35:12 +02:00
Maciej Suminski
23392ce8c9
Upstream merge.
2014-04-02 15:38:59 +02:00
Maciej Suminski
dbc4a8f292
GAL zooms in and out using the default hot keys (F1/F2).
...
Screen size is saved in VECTOR2I instead of VECTOR2D.
2014-03-20 08:47:31 +01:00
maciej.
898ed7445f
GAL: fix zooming using mouse wheel with wxWidgets 3.0.
2014-03-19 21:07:49 +01:00
Maciej Suminski
e1ce30d89d
Fixed mouse wheel handling for GAL canvases with wx3.0.
2014-03-19 11:57:59 +01:00
Orson
59a0ced0a6
Corrected the error message about required OpenGL version for GAL. Fixed pcb_calculator .desktop file.
2014-03-14 21:32:25 +01:00
Maciej Suminski
c5a3c1082a
Removed a few RecacheAllItems() calls, some of them changed to specific type recaching (using TYPE_COLLECTOR & VIEW_ITEM::ViewUpdate() ).
...
Removed OPENGL_GAL::SetStrokeColor().
2014-02-25 14:28:09 +01:00
Maciej Suminski
597e98dbf4
Cursor is in world coordinates.
2014-02-13 20:23:28 +01:00
Maciej Suminski
f9f0b46b63
Small GAL refactorization, mostly correcting constness.
2014-02-13 19:31:27 +01:00
Maciej Suminski
e43b5f7c0f
Small fix for crippled polylines containing 0 points.
2014-02-11 15:01:49 +01:00
Maciej Suminski
c21ae6efca
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
Maciej Suminski
fc4f9195b6
Fixed wx2.8 strings compatibility.
2013-11-13 15:52:06 +01:00
Maciej Suminski
5235d7e5eb
Modified error handling for OpenGL backend, now error messages should be visible.
2013-11-11 10:48:49 +01:00
Maciej Suminski
edc43c19cd
Fix colorized framebuffer output on some GPUs.
2013-10-29 17:53:47 +01:00
Maciej Suminski
f615c462a2
Changed the used framebuffer object extension from ARB_framebuffer_object to EXT_framebuffer_object (compatibility reasons).
2013-10-29 17:28:29 +01:00
Maciej Suminski
c7bc1e151c
GAL is not activated by default. Late OpenGL backend initializatization.
2013-10-28 16:51:56 +01:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Suminski
dcb5d8f25c
Merged Tom's branch
2013-09-18 16:59:08 +02:00
tomasz.wlostowski@cern.ch
d8480e4674
gal: make the cursor a bit bigger and hidden by default
2013-09-18 13:13:03 +02:00
Maciej Suminski
9fbf45ebfc
Fixed drawing outlined track segments.
2013-09-16 09:51:53 +02:00
Maciej Suminski
782867f7b3
Caps for lines are drawn only when segments are wider than 1.0
2013-09-13 15:30:45 +02:00
Maciej Suminski
b04de0cada
Fixed memory leaks in containers.
2013-09-12 09:44:57 +02:00
Maciej Suminski
8a4417ec46
Fixed color for drawing polygons on overlay.
2013-09-09 14:31:13 +02:00
Maciej Suminski
bd8998d1da
Fixed cursor drawing for OpenGL.
2013-08-28 17:06:07 +02:00
Maciej Suminski
6fe086ab6d
Added cursor snapping.
2013-08-28 16:25:42 +02:00
Maciej Suminski
215f35e237
Added mouse cursor drawing.
...
Added flipping mode.
2013-08-27 18:08:32 +02:00
Maciej Suminski
89a138c09e
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Maciej Suminski
43ae1cb98d
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
bc69429a56
Added GetTarget() for GALs.
2013-08-06 14:57:48 +02:00
Maciej Suminski
19b344806d
Fixed the tesselator, so now it works with Windows.
2013-08-02 10:55:40 +02:00
Maciej Suminski
d34df18f2c
Fixed grid line drawing in OpenGL backend for some drivers.
2013-07-31 09:01:25 +02:00
Maciej Suminski
190ed58568
Code refactoring.
2013-07-30 18:29:54 +02:00
Maciej Suminski
790a1f8563
Made GAL backends settings more consistent. Fixed grid line width in the OpenGL backend.
2013-07-30 17:09:06 +02:00
Maciej Suminski
f9d74ccb70
Removed shaderless OpenGL backend.
2013-07-29 16:38:07 +02:00
Maciej Suminski
27113348b9
Fixed blending function for OpenGL compositing. Corrected documentation, removed unnecessary functions.
2013-07-24 15:06:59 +02:00
Maciej Suminski
618a5f0e75
OpenGL multitarget rendering (compositing).
2013-07-23 18:39:07 +02:00
Maciej Suminski
a8f4791395
Changed rendering order of cached & noncached layers.
2013-07-22 13:14:53 +02:00
Maciej Suminski
5242fff9d7
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
b0c1b97ff3
Fixed stroked circles width issue with OpenGL shaders.
2013-07-17 10:21:29 +02:00
Maciej Suminski
fef47b0b67
Fixed OpenGL tracks transparency & netnames issue.
2013-07-16 15:44:08 +02:00
Maciej Suminski
20c86db71f
1 pixel wide lines using OpenGL shaders.
2013-07-16 08:49:12 +02:00
Maciej Suminski
b5aadfc3f9
Fixed segmentation fault when there was no board loaded.
2013-07-05 15:48:45 +02:00
Maciej Suminski
eb041ee2d3
Removed most of deprecated OpenGL calls. Items used to be drawn in immediate mode now are drawn using vertex arrays.
2013-07-05 14:01:33 +02:00
Maciej Suminski
408fb4f159
Removed pointers where they were not necessary.
2013-07-05 09:31:04 +02:00
Maciej Suminski
aff3787b34
Fixed drawing circles and semicircles using display lists.
2013-07-04 16:27:27 +02:00
Maciej Suminski
97f914ccb3
Fixed stroked semicircles Z coordinate in shaderless OpenGL backend.
2013-07-02 18:11:57 +02:00
Maciej Suminski
0f5aa0630a
Fixed stroke semicircles drawing using shaderless OpenGL backend.
2013-07-02 09:27:12 +02:00
Maciej Suminski
9e4fe8b410
Faster polylines drawing using OpenGL backend.
...
Fixed drawing of lines' caps.
2013-07-01 15:23:43 +02:00
unknown
4360860bee
Removed different styles of line caps and line joins, leaving only round caps & joins.
...
Fixed drawing stroked semicircles using OpenGL backend.
2013-07-01 14:39:27 +02:00
Maciej Suminski
a73216fc95
Changed std::map to boost::unordered_map for storing memory chunks and groups information.
2013-07-01 13:20:48 +02:00
Maciej Sumiński
00847a8aed
Colors are stored as unsigned bytes instead of floats.
2013-06-30 22:45:31 +02:00
Maciej Sumiński
27a6f8afd6
Shaders are built-in instead of being loaded from external files.
2013-06-30 19:31:16 +02:00
Maciej Sumiński
335bf72060
More debug information in case of failure compilation of shaders.
2013-06-30 15:37:46 +02:00
Maciej Suminski
3f1da8b2c0
Minor code cleaning.
2013-06-27 17:31:10 +02:00
Maciej Suminski
628c069a39
Faster circles & semicircles drawing for the shaderless OpenGL backend. Removed unnecessary variables and computations.
2013-06-27 16:05:15 +02:00
Maciej Suminski
332a7b4bd9
Groups are stored in map instead of deque, so it allows easier adding & removing.
2013-06-27 11:54:49 +02:00
Maciej Suminski
58de62aacc
High contrast mode with showing the selected layer on the top.
2013-06-26 16:31:52 +02:00
Maciej Suminski
db74de74f5
Added possibility to change cached layer color (for the purpose of high contrast display).
2013-06-25 17:12:54 +02:00
Maciej Suminski
fbc3d63c24
Draw the origin marker in OpenGL with shaders GAL.
2013-06-24 16:02:18 +02:00
Maciej Suminski
ef865aab68
Grid settings apply to GAL based rendering.
2013-06-24 14:33:02 +02:00
Maciej Suminski
08c54e8acf
Passing COLOR4D parameter using constant reference.
2013-06-24 10:21:34 +02:00
Maciej Suminski
145a3f20de
Changed atan2() to VECTOR2D::Angle()
2013-06-21 09:01:40 +02:00
Maciej Suminski
8552a6e29d
Fixed some minor rendering issues, mostyl for shaderless OpenGL GAL.
2013-06-20 16:37:21 +02:00
Maciej Suminski
fd6ab6003d
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
83f5bd60c1
Moved fields containing information about currently used color, shader and transformation for vertices from VBO_ITEM to VBO_CONTAINER (OPENGL_GAL).
2013-06-19 10:50:46 +02:00
Maciej Suminski
4de43d7c5f
Removed unnecessary functions from VBO_VERTEX.
2013-06-18 17:53:12 +02:00
Maciej Suminski
cd517f67db
Added VBO_CONTAINER as a faster storage for vertices (OPENGL_GAL), tuned for exchanging data with GPU.
...
Removed a few unnecessary variables and fields from OPENGL_GAL.
Added function GAL::ClearCache() for freeing memory used by cached items.
Fixed a few memory leaks (tesselator, PAINTER's settings & VIEW_ITEM's groups).
Changed a few functions into inlines.
2013-06-18 16:20:29 +02:00
Maciej Suminski
e7b7e0e687
Removed some debug messages.
2013-06-06 11:54:37 +02:00
Maciej Suminski
8742dae4a4
Removed indices storing from VBO_ITEM as they are always consecutive numbers. Removed storing pointers to VBO_ITEMs that have to be drawn - instead they are memcpied to mapped GPU memory.
...
Some functions of VBO_ITEM became inline.
2013-06-06 11:52:39 +02:00
Maciej Suminski
28511cf4fe
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
e8acd2919b
Added tesselation of polygons for VBO based rendering (OpenGL GAL).
2013-05-27 09:37:49 +02:00
Maciej Suminski
d45008a847
Different way of rendering groups (with a single DrawElements call) in OpenGL GAL.
2013-05-16 18:43:25 +02:00