Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-07-03Bug 475784: half transparent composite as overlay composite not workEric Williams6-2/+25
with gtk3 ATTEMPT #2: fix regression from original patch. Instead of keeping the NO_BACKGROUND flag, cache it in Control and remove it as intended in Composite.checkStyle(). Original commit message: We have to handle some corner case drawing situations, since Control.setRegion() now uses Cairo entirely. In particular, we need to handle the case where a user is using an SWT.NO_BACKGROUND Composite as an overlay. This means the Composite has a region set, and a paintListener attached to perform custom drawing. Previously, Control.setRegion() "physically" manipulate the Composite's GdkWindow to prevent any drawing outside the given region. Since Cairo is now responsible for drawing the set region we have to handle this geometry ourselves. This patch fixes numerous issues all rolled into one. First, it adds a field in GCData which corresponds to the Cairo region. This is set in gtk_draw() so that GC.fill* methods will clip themselves accordingly and not fill where they aren't supposed to. Second, it checks for a PaintListener, NO_BACKGROUND, and a region being set. If these conditions are met, we draw a transparent background in Control.drawBackground() to ensure the region and custom drawing succeeds. Last, we copy the region at the Cairo level to ensure there are no crashes when calling setRegion(region) followed by region.dispose(). Tested on GTK3.22 using the snippet attached and a child Eclipse. No AllNonBrowser JUnit tests fail. Change-Id: I6a6245052e9756d6c9bdd0e46ef20a74413acc6b Signed-off-by: Eric Williams <ericwill@redhat.com>
2018-07-02Revert "Bug 475784: half transparent composite as overlay composite not work ↵Andrey Loskutov6-25/+2
with gtk3" This reverts commit 70cce8be1320532905ef82171b46309da5c59bc7.
2018-06-29Bug 475784: half transparent composite as overlay composite not workEric Williams6-2/+25
with gtk3 We have to handle some corner case drawing situations, since Control.setRegion() now uses Cairo entirely. In particular, we need to handle the case where a user is using an SWT.NO_BACKGROUND Composite as an overlay. This means the Composite has a region set, and a paintListener attached to perform custom drawing. Previously, Control.setRegion() "physically" manipulate the Composite's GdkWindow to prevent any drawing outside the given region. Since Cairo is now responsible for drawing the set region we have to handle this geometry ourselves. This patch fixes numerous issues all rolled into one. First, it adds a field in GCData which corresponds to the Cairo region. This is set in gtk_draw() so that GC.fill* methods will clip themselves accordingly and not fill where they aren't supposed to. Second, it checks for a PaintListener, NO_BACKGROUND, and a region being set. If these conditions are met, we draw a transparent background in Control.drawBackground() to ensure the region and custom drawing succeeds. Last, we copy the region at the Cairo level to ensure there are no crashes when calling setRegion(region) followed by region.dispose(). Tested on GTK3.22 using the snippet attached and a child Eclipse. No AllNonBrowser JUnit tests fail. Change-Id: Icdd04d8a4e0e504a5ee69688ba304af3956e4f77 Signed-off-by: Eric Williams <ericwill@redhat.com>
2018-05-04Bug 530932 - Enable native scaling on Linux GTKSravan Kumar Lakkimsetti4-0/+49
Change-Id: I98a9fcd461739f27f62f0179c4df4ea6ece6f370 Signed-off-by: Sravan Kumar Lakkimsetti <sravankumarl@in.ibm.com>
2018-04-16Bug 529431: [GTK3.10+] Snippet294 fails to draw RegionEric Williams4-0/+23
Fix input handling for GTK3.10+ setRegion behaviour. This does a manual check to see if the incoming event coordinates are within the set region: if they are, ignore them. This prevents events like SWT.Selection, SWT.Mouse[Up/Down], etc. from triggering when they are spawned from within the set region. There are two main limitations though: 1) we cannot stop native GTK events as we are doing the region drawing on the SWT level. This means things like mouse enter/leave, button pre-light, etc. will still be visible. We block the selection/click events at the SWT level, but unfortunately there is no reliable way to block these on the GTK level. 2) we also can't block all selection events, as some widgets are selectable using the keyboard (which has no coordinates). This means we could potentially block out selection events that *should* be sent. Tested on GTK3.22, no AllNonBrowser JUnit test failures. Change-Id: Ifd8377feb7d71a366edcdf6083d2bc94ab779886 Signed-off-by: Eric Williams <ericwill@redhat.com>
2018-03-23Bug 532825 - Remove hpux/solaris clutter in the codebaseAlexander Kurtakov1-2/+0
Change-Id: I735be5853d393097c7d11c9abb43e9e5cbf93c8d Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-01Bug 528679 - Eclipse Photon M3a crashes on CentOS 6Alexander Kurtakov3-3/+17
Print the minimal required Cairo version if older one is detected. Do not exit but let the user know of the issue. Change-Id: I3c8ec968f7a49bc84fda335e9b4812540d943829 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-06-27Bug 518855 - Remove workarounds for Cairo older than 1.8.0I20170627-2000Alexander Kurtakov3-19/+3
Change-Id: I63655797878979b0f1452e2c288079b5c15c6d3e Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-02-22Bug 488431 - Provide SWT/GTK3 port on WindowsRolf Theunissen2-0/+7
win32 specific imports and disable functions not available on win32 Change-Id: I7bd41342d9ec7610f65bdd4495a0214d45449d23 Signed-off-by: Rolf Theunissen <rolf.theunissen@altran.com>
2016-12-14Bug 509215 - Make Cairo bindings non-dynamic where possibleAlexander Kurtakov2-65/+0
GTK 2.24 has cairo 1.6 as a pre-req thus make all functions guaranteed to exist by this version as non-dynamic. Change-Id: Ie996a5190982ec543307a7e00357b94e55f102c5 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2016-11-08Bug 500363: Native auto generated files should mention that they areLeo Ufimtsev5-5/+20
auto generated A few more files popped up showing auto-generated message inside them. Commiting them so that developers don't see them in their git-staging area anymore. Change-Id: I7cffeb054606e50c729122ae9ed99fd039922aa5 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=500363 Signed-off-by: Leo Ufimtsev <lufimtse@redhat.com>
2016-10-17Bug 505334 - SWT for GTK fails to compile when X11 is not availableRolf Theunissen2-3/+7
Dynamically called X11 functions should not be compiled as well Signed-off-by: Rolf Theunissen <rolf.theunissen@altran.com>
2016-10-07Bug 505334: SWT for GTK fails to compile when X11 is not availableRolf Theunissen1-0/+4
Currently only part of the X11 functions are disabled if X11 is not available. This commit fixes this and allows swt to build when X11 is not available Signed-off-by: Rolf Theunissen <rolf.theunissen@altran.com>
2015-03-26Bug 463151 - Drop pre-2.18 GTK Cairo code in GCAlexander Kurtakov3-15/+3
Drop the old complicated way of initing Cairo now that GTK 2.18 is the min version. Change-Id: Iff7109085588eb8474e3365d6f3e9160c660a57c Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2014-03-03Bug 429476 - Remove useless Cairo bindings.Alexander Kurtakov3-532/+3
The smaller the better. Change-Id: I377bd50c3f933900717b0061e092d7140ddcd489 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2013-07-12GC remove GTK pre-2.8 code paths.Alexander Kurtakov5-225/+5
This allows reducing the Cairo bindings and simplifies the codebase.
2012-10-30Bug 389910 - Substitute GdkColor with GdkRGBASilenio Quarti1-7/+0
2012-10-27cleanup region changes - use macros to redefine gdk_region_XXX in terms of ↵Silenio Quarti6-387/+0
cairo_region_XXX
2012-10-17missing new lineSilenio Quarti1-1/+1
2012-10-17compile on older versions of cairo - cairo_rectangle_int_t is missingSilenio Quarti1-0/+7
2012-10-17Replace GdkRegion with Cairo methods for GTK + 3.0 and higherAnatoly Spektor6-2/+433
2012-09-17do not generate function count to avoid patch conflictsSilenio Quarti1-2/+3
2012-06-01Bug 380560 - Do the annual javadoc/copyright bash for 3.8 and 4.2Carolyn MacLeod2-2/+2
2012-03-29need to be able to overwrite native package name (actual code)Silenio Quarti1-0/+2
2012-01-20remove compiler warningSilenio Quarti1-1/+1
2012-01-17missing dynamic function namesSilenio Quarti1-1/+3
2012-01-17Add cairo_push_group and cairo_pop_groupBogdan Gheorghe3-2/+42
2012-01-16have to mark dirty when creating from pixelsSilenio Quarti3-2/+14
2012-01-13adding cairo_surface_flush PISilenio Quarti3-5/+17
2011-10-21fix Control.setBackgroundImage()Silenio Quarti4-2/+25
2011-10-21support Images with xlib surface, performance of large images surfaces is badSilenio Quarti4-3/+26
2011-10-21make GC handle a cairo object, fix clipping, rename USE_CAIRO flagSilenio Quarti4-3/+49
2011-10-20create opaque image surfaces; target cairo 1.2 APIs; remove surfaceData fieldSilenio Quarti4-3/+72
2011-10-18merging to masterSilenio1-1/+1
2011-10-18Merge branch 'master' into Bug354978Silenio3-4/+6
2011-09-27Bug 345682 WebKit for GTK not detectedGrant Gayed2-5/+7
2011-09-23fix permission of filesSilenio1-0/+0
2011-09-19Bug 354978 - First changesBogdan Gheorghe4-6/+29
2011-05-10Bug 345279 - Do the annual copyright bash for 3.7AFTER_COPYRIGHT_BASH_FOR_37RC1Carolyn MacLeod7-7/+7
2010-09-24Adding HPUX GTK supportBogdan Gheorghe1-0/+2
2010-09-20Adding GTK AIX supportSilenio Quarti1-4/+10
2009-07-01restore HEAD after accidental deletion by error in automated build scriptSilenio Quarti7-0/+2539
2009-06-30*** empty log message ***Felipe Heidrich7-2539/+0
2009-05-29After copyright bash for 3.5RC4AFTER_COPYRIGHT_BASH_FOR_35RC4Carolyn MacLeod2-2/+2
2008-09-05Mac generator and building 64 bit enabled C codeSilenio Quarti4-230/+254
2008-08-25copyright changeSilenio Quarti5-5/+5
2007-04-05176167 - Form's BusyIndicator hangs workbench on GTKSilenio Quarti3-875/+875
2007-03-27150357 - [Linux] [cairo] GC.setAdvance(true) and subsequent drawing of ↵Silenio Quarti3-2/+30
images fails
2007-03-27removing fix to create patchSilenio Quarti3-30/+2
2007-03-27Cairo versionSilenio Quarti3-2/+30

Back to the top