Commit Graph

95 Commits

Author SHA1 Message Date
Tor Lillqvist
ea25c799ea WaE: implicit conversion of NULL constant to 'boost::detail::sp_nullptr_t'
Change-Id: I71923bdeb7b66662f114b3e72d9e3846f8b9ff92
2014-12-01 10:06:23 +02:00
Markus Mohrhard
8eeb02dcc1 use boost::shared_ptr instead of manual ref counting
Change-Id: I3c2ed9b5641202ff965c3a0c833c8201b2b1548b
2014-12-01 07:37:06 +01:00
Markus Mohrhard
6acfb0e75e no need to declare variables before use
Change-Id: Ia732e283fa07ec5ece58e49dca2dcc5c61495109
2014-11-30 00:47:32 +01:00
Markus Mohrhard
ae88bc4f53 if we use hungarian notation let use it consistently
Change-Id: Ia17a5d983afb98e0b348909a66be85ea55f8a47a
2014-11-30 00:47:32 +01:00
Michael Meeks
7a1cb6c395 vcl: misc. TODO comment expansion.
Change-Id: Iac9e998c2737a370aff382f8c4ae68af8e59f521
2014-11-25 10:13:25 +00:00
Caolán McNamara
8ccf559473 coverity#1255909 Uninitialized scalar field
Change-Id: I162199233c9d3feb03e7ab33b777174b2a03035a
Reviewed-on: https://gerrit.libreoffice.org/13104
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-11-24 20:40:42 +00:00
Caolán McNamara
f47080cb24 coverity#1255387 help coverity out here wrt Division by zero
Change-Id: I3923655d6d4b9c2906cda72e1f91f20d9b5a1354
2014-11-24 16:35:56 +00:00
Louis-Francis Ratté-Boulianne
357011b5ba vcl: Make sure the active framebuffer is the right one before drawing
Change-Id: Icc30bee1d58dbf8f5e7b65ba90cfdf0c9135b464
2014-11-22 20:14:22 +01:00
Louis-Francis Ratté-Boulianne
7a64d1e1cc vcl: Improve precision and performance of clipping when region is a RegionBand
Change-Id: I7a481ba86d03b0eb8f4b456e38cfa89b6cbc209d
2014-11-22 20:14:21 +01:00
Louis-Francis Ratté-Boulianne
fa77801f3e vcl: Track the GL context's clip region and update before drawing when needed
Change-Id: Ibec92851dc87f6696ee55a8db10fe160cd97d09c
2014-11-22 20:14:20 +01:00
Louis-Francis Ratté-Boulianne
5f86a6165b vcl: Move the painting fence to the OpenGL context
Change-Id: I462e68a1ad7a56fafe57504959cf169a70665f81
2014-11-22 20:14:20 +01:00
Louis-Francis Ratté-Boulianne
e26237f6cb vcl: Always use the same OpenGL context when drawing in a window
Change-Id: Ief0e947149c133aaa8e81973e088c4df6432bfdc
2014-11-22 20:14:19 +01:00
Louis-Francis Ratté-Boulianne
3149cc341b vcl: Draw native widgets twice on black/white background to synthesize alpha
Change-Id: Ic4c073360070a559855732d2de41ae9085d7d51b
2014-11-22 20:14:18 +01:00
Louis-Francis Ratté-Boulianne
360b988ea0 vcl: Correctly set the values for the GL scissor test when clipping
Change-Id: I5ff59f93a3760e6a920860f8aa5fc3f62d0d183d
2014-11-22 20:14:18 +01:00
Louis-Francis Ratté-Boulianne
56e112aace vcl: Apply the OutputDevice transformation to the gradient clipping polygon
Change-Id: I16845c6cb0c110749112d608c209020f21549e70
2014-11-22 20:14:18 +01:00
Louis-Francis Ratté-Boulianne
1419d851d2 vcl: Implement copyArea in OpenGL backend
Change-Id: If98a2f39a7f3c3079abe7f5e293d7761db0ed8f9
2014-11-22 20:14:17 +01:00
Louis-Francis Ratté-Boulianne
4b6feefa51 vcl: Add support for backend-dependent blending of bitmaps (mask and alpha)
Change-Id: Iba64eb42965c86ca5655b9a105ef3f397e033ecf
2014-11-22 20:14:16 +01:00
Louis-Francis Ratté-Boulianne
121b8487f1 vcl: Actually keep the new offscreen texture around
Change-Id: Ie44c680f0c217214c4a3642d34fa704e8eeca917
2014-11-22 20:14:16 +01:00
Caolán McNamara
af26bb77d2 coverity#1255388 Division or modulo by float zero
and

coverity#1255387 Division or modulo by float zero

Change-Id: I86c6d5874a7a2c2eecefe7f786edff89ff50ffbf
2014-11-21 11:55:11 +00:00
Caolán McNamara
c7d03c4e9c coverity#1254674 Unchecked dynamic_cast
Change-Id: Iae62353e42947324beca8d036fcd1c20346d0d29
2014-11-19 11:01:06 +00:00
Michael Meeks
fa6a174b50 vcl: since we share Bitmaps across all GLContexts simplify lifecycle.
~X11SalVirtualDevice() was destroying X resources referred to by
OpenGLSalBitmap's mpContext, which were subsequently accessed by
Bitmap::AcquireReadAccess on the floating Bitmap. Better to use the
default window's GLContext for all bitmap operations.

Change-Id: I9009980e791cff1a1f36d626592d72c7a32efd39
2014-11-18 21:26:23 +00:00
Louis-Francis Ratté-Boulianne
fef950f828 vcl: Unbind framebuffer after setting offscreen mode
Change-Id: I057b148f51c8f011cb013e1f06288aec4d9bdb2a
2014-11-18 15:44:03 +01:00
Louis-Francis Ratté-Boulianne
89ec42e1d1 vcl: Execute pending operations on source when copying bitmap
Change-Id: I8a6a5ffe71c9e5f16533fd1f0944d4fd2a051c73
2014-11-18 15:44:02 +01:00
Louis-Francis Ratté-Boulianne
95017eaf85 vcl: Fix DrawMask implementation in OpenGL backend
Change-Id: Idc0bedaba5a4cea351f131d402c2b1093ac1c53c
2014-11-17 22:39:46 +00:00
Louis-Francis Ratté-Boulianne
2d12d89632 vcl: Implement drawing of transformed bitmaps in OpenGL backend
Change-Id: I79717a608f33050b84244e378a6e51bd3be29232
2014-11-17 22:39:23 +00:00
Michael Meeks
dfeaee01a3 vcl: copyBits should operate on mrParent if no context supplied.
eg. OutputDevice::DrawOutDev:
            mpGraphics->CopyBits( aPosAry, NULL, this, NULL );

Change-Id: I0b041bb5aa6aba573b9f589842084722481cb438
2014-11-17 22:38:58 +00:00
Markus Mohrhard
b4b1bea816 Revert "make something visible on the screen again"
This reverts commit 6661fdab95b981843f6d8392769f32e7377eaaeb.
2014-11-16 17:25:48 +01:00
Markus Mohrhard
687ecd9497 make something visible on the screen again
Why do we still use a double buffered FBC? It apparently works in the
feature/opengl-vcl branch.

Change-Id: I48b6879b9a9f7fec67f4da25cade46a32d8ad6fa
2014-11-16 17:25:28 +01:00
Tor Lillqvist
f8782d8ca1 WaE: unused variable 'aSize'
Change-Id: I74a671656a703eefa9ae10e839c156a4c0f66335
2014-11-15 20:29:35 +02:00
Jan Holesovsky
90742105a5 opengl: Another places where it is too eager to check for errors.
Change-Id: Ib6ca3d653f3fd1155bce418226146934e765928d
2014-11-15 14:44:07 +01:00
Jan Holesovsky
1d2c5224b2 opengl: Add many more CHECK_GL_ERROR()'s before returning from functions.
Change-Id: I63c147acf9a4013008b0f6d76867186f04ee57d5
2014-11-15 13:51:53 +01:00
Jan Holesovsky
6fd7199230 windows opengl: Set PFD_DOUBLEBUFFER even for single buffer rendering.
Otherwise I'm getting lots of errers when dealing with virtual devices...

Change-Id: I34e145817d21dfc2d30fa9ffdfedfa714467d105
2014-11-15 12:36:29 +01:00
Louis-Francis Ratté-Boulianne
32bddc7cb2 vcl: Implement axial gradients in OpenGL backend
Change-Id: I93b8c3c076c79d992d467b01ca5f5eca1ed626d3
2014-11-15 12:17:43 +01:00
Louis-Francis Ratté-Boulianne
b190ffe587 vcl: Add DrawAlphaTexture to directly render Cairo surface
Change-Id: I7aa824578b14999d0ef667a5bcfccd731f1d3b64
2014-11-15 12:17:43 +01:00
Louis-Francis Ratté-Boulianne
fbe77f453c vcl: Make sure the offscreen texture is unique before rendering to it
Change-Id: I265ce62e983e6f44ba51675993c9ec1f071c160e
2014-11-15 12:17:43 +01:00
Louis-Francis Ratté-Boulianne
dce9610afe vcl: Improve OpenGLTexture implementation by allowing implicit sharing
Conflicts:
	vcl/opengl/gdiimpl.cxx

Change-Id: I6421265325e72023d1affe671d75488185772786
2014-11-15 12:17:43 +01:00
Louis-Francis Ratté-Boulianne
aa9dfcee50 vcl: Implement copyBits in the OpenGL backend
Change-Id: I101afd11394d3d024d38519afd61d700114702ac
2014-11-15 12:17:42 +01:00
Louis-Francis Ratté-Boulianne
1b3dcdbecb vcl: Fix several coordinates calculations
Change-Id: I15878b4d91081a7ac880713ad278893aaad4a844
2014-11-13 07:54:22 +01:00
Louis-Francis Ratté-Boulianne
afd759a583 vcl: Use stencil mask to clip gradient shape
Change-Id: I5dc17a20ab65f0b0bad4741a7d1ec76a0e028e23
2014-11-13 07:54:21 +01:00
Louis-Francis Ratté-Boulianne
6ff6d0b00d vcl: Use glScissor for rectangular clip regions
Change-Id: I62bf28d854d889242a49146cfe87c3dd6be89c32
2014-11-13 07:54:20 +01:00
Louis-Francis Ratté-Boulianne
0127e37a83 vcl: Fix gradient programs attribute binding
Change-Id: I4210f09759824bf9415350262fd07534c9b3a317
2014-11-13 07:54:19 +01:00
Louis-Francis Ratté-Boulianne
a6fee2ca4c vcl: Use scissor or stencil for clipping in OpenGL backend
Change-Id: Ib6620572391999d5f8124a1a8695909d6c48643d
2014-11-13 07:54:19 +01:00
Louis-Francis Ratté-Boulianne
f3981e86d6 vcl: Fix the masked texture program attributes binding
Change-Id: Ie7440881f35eaf348aef35beea5a6d407d16a342
2014-11-13 07:54:15 +01:00
Louis-Francis Ratté-Boulianne
f433825259 vcl: Use single-buffer rendering and only flush when necessary
Change-Id: I832dd6f3647fbb423975fa928a5ec32447225e85
2014-11-13 07:54:14 +01:00
Jan Holesovsky
f7efd54ba5 opengl: Check for error at the end of every method that deals with OpenGL.
Otherwise we will get the report of an error much much later, most probably in
a totally unrelated part.

Change-Id: I33d3c6d01126f5766beb179eeaeb3276a9078226
2014-11-12 18:25:00 +01:00
Louis-Francis Ratté-Boulianne
e1e787d5e4 vcl: Add support for radial gradients in OpenGL backend
Change-Id: Ie47fb18ae7d5286fe7559c7dffbc54b0856d4d8e
2014-11-12 04:07:31 +01:00
Louis-Francis Ratté-Boulianne
74c3dbe87e vcl: Read back OpenGL FBO to create offscreen X11 pixmap
Change-Id: I330e7d62bf31b4a90b5866d9531f073f7c69c92a
2014-11-12 04:07:21 +01:00
Louis-Francis Ratté-Boulianne
c7a5ce27e6 vcl: Add initial support for linear gradient with OpenGL
Change-Id: Iccc12c94bfd68387dfc0161a5fde4f595edda0e1
2014-11-12 04:07:05 +01:00
Jan Holesovsky
d9fbaf248e windows opengl: Instantiate OpenGLSalBitmap even on Windows.
Change-Id: I2229141cc12ad7bc9fccfd6e2c7fec44ac4f6284
2014-11-11 21:46:45 +01:00
Tor Lillqvist
2018bd1505 WaE: implicit conversion of NULL constant to 'boost::detail::sp_nullptr_t'
Change-Id: I6d989baabe4ff59b91c3fdb725f75a7d9e01f5e0
2014-11-11 19:10:05 +02:00