Commit Graph

8218 Commits (7aecca019fbf904603a81490eac5e8421879f062)

Author SHA1 Message Date
Arthur Arlt 7aecca019f Rename member variables
Renaming member variables to consistent naming scheme and using phrase
"screenEdge" instead of electric window.
2011-07-04 13:24:51 +02:00
Arthur Arlt bf419c256d Introduced init() method to class ScreenEdge
The initialization was done in class Workspace before but is now
moved to class ScreenEdge in its own init() method. Is is called from
Workspace at the same position where the initialization took place before.
2011-07-04 13:24:51 +02:00
Arthur Arlt 83e8f65679 Use new getter method screenEdgeWindows() in propagateClients()
Since the functionality of screen edge handling was moved to its own class,
the screen edge windows are now provided by the getter method screenEdgeWindows().
The new getter method screenEdgeWindows() returns a reference to a QVector,
which includes the screen edge windows.
The Workspace method propagateClients() implemented in layers.cpp needs these
screen edge windows to restack the windows. The code was also modified to use
QVector instead of a Window array.
2011-07-04 13:24:51 +02:00
Arthur Arlt 5ead1d90a1 Remove screen edge handling methods from workspace
Since the newly introduced class ScreenEdge and its calls work fine,
the redundand methods from workspace are now removed.
2011-07-04 13:24:51 +02:00
Arthur Arlt 76e5f0e08b Introduce new getter method screenEdgeWindows() to class ScreenEdge
A new getter method screenEdgeWindows() is provided by class ScreenEdge
since the screen edge windows are needed in class Workspace in the function
propagateClients() which is implemented in layers.cpp
2011-07-04 13:24:51 +02:00
Arthur Arlt 2f11337d98 Refactoring Screen Edge handling
This commit change the screen edge function calls to be called in the
new class ScreenEdge. The old methods are still in Workspace and will
be removed in a further commit.
2011-07-04 13:24:51 +02:00
Arthur Arlt 7533bfac75 Introduce member variable ScreenEdge to Workspace
This commit adds a new member variable m_screenEdge to Workspace. It is
initialized in the constructor and deleted in the deconstructor.
A getter is introduced as well.
2011-07-04 13:24:51 +02:00
Arthur Arlt 55cbff052f Refactor Screen Edge Handling
This initial commit introduces a two new files screenedge.h and screenedge.cpp which cover a new
class ScreenEdge. The code for screen edge handling was copied from Workspace to this class.
Workspace had to be extended by a getter for movingWindow. CMakeList was updated to build the
new class.
2011-07-04 13:24:51 +02:00
Martin Gräßlin aa3f7a6f4e Merge branch 'KDE/4.7' 2011-07-03 12:36:54 +02:00
Martin Gräßlin 78dd6e6859 Fix rendering glitch in screenshot effect with Raster
We have to set the bit depth of the XPixmap to 32 in order to get
an alpha channel and we have to render the grabbed image using
composition mode Source in order to just copy all pixels to the
destination pixmap.

BUG: 276719
FIXED-IN: 4.7.0
2011-07-03 12:23:11 +02:00
Martin Gräßlin 7e3f6931e4 Merge branch 'KDE/4.7' 2011-07-03 11:09:14 +02:00
Martin Gräßlin 5c0d24c7bf Fix a rendering glitch caused by the reflections in CoverSwitch
Seems like we need to use drawWindow instead of paintWindow or
KWin will keep some parts of the paint data.

BUG: 276810
FIXED-IN: 4.7.0
2011-07-03 11:07:27 +02:00
Martin Gräßlin 08b2aebd30 Merge branch 'KDE/4.7'
Conflicts:
	kwin/libkwineffects/kwinglutils.cpp
	kwin/libkwineffects/kwinglutils.h
2011-07-03 09:30:38 +02:00
Martin Gräßlin b837a3fca1 Render Shadow with only one GL texture
Copies the shadow parts into one image and creates a GLTexture
from the image, so that we can render the complete shadow with
just one texture and one painting pass.

Should remove most of the overhead involved when rendering the new Shadows.

As a side effect this should fix missing shadows with non-NPOT GPUs and
a rendering glitch reported with NVIDIA.

REVIEW: 101742
2011-07-03 09:24:28 +02:00
Martin Gräßlin 4898ac4b93 Merge branch 'KDE/4.7'
@Thomas: please try to only commit to KDE/4.7 and forward port to master
CCMAIL: thomas.luebking@gmail.com
2011-07-03 09:09:16 +02:00
Thomas Lübking a1b110634f zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:07:09 +02:00
Thomas Lübking c2e06221ca zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:03:12 +02:00
Martin Gräßlin 3259ff612a Merge branch 'KDE/4.7' 2011-07-02 15:32:56 +02:00
Martin Gräßlin 42aac88f1b It helps to also set the texture size in GLES
Up to now we have not used it in OpenGL ES, but now we do and
rendering is funny if the size is not set.
2011-07-02 15:31:36 +02:00
Hugo Pereira Da Costa 78b8dada3b Merge branch 'master' of git.kde.org:kde-workspace 2011-07-02 13:14:17 +02:00
Hugo Pereira Da Costa db297dee87 fixed unbalanced save/restore 2011-07-02 13:13:58 +02:00
Martin Gräßlin 6850f0ef88 Merge branch 'KDE/4.7' 2011-07-01 18:08:47 +02:00
Martin Gräßlin f978d7b97d Fix decoration rendering with GL_TEXTURE_RECTANGLE_ARB
When using graphicssystem native the texture may be using
GL_TEXTURE_RECTANGLE_ARB instead of GL_TEXTURE_2D. This
needs to be honoured in order to make KWin work reliable
with e.g. R300 chipsets.

BUG: 274607
CCBUG: 276622
FIXED-IN: 4.7.0
2011-07-01 18:04:15 +02:00
Martin Gräßlin 5f0bbe4617 Merge branch 'KDE/4.7' 2011-06-30 17:50:58 +02:00
Martin Gräßlin b470ef52a9 Fix major window rendering regression with NPOT textures
The adjusted code for generating texture coordinates did not
take care of GL_TEXTURE_RECTANGLE_ARB textures causing the
generation of wrong texcoords.

BUG: 276622
FIXED-IN: 4.7.0
2011-06-30 17:47:06 +02:00
Hugo Pereira Da Costa 05fc073439 draw background overlay pixmap manually in preview. 2011-06-30 11:43:34 +02:00
Hugo Pereira Da Costa 18cdb220d7 Added "show advanced options" button. 2011-06-30 11:20:50 +02:00
Hugo Pereira Da Costa dfcab17585 use backing store pixmap for buttons when compositing is not active.
Copy parent backgronud from backing store pixmap when rendering buttons.
2011-06-28 09:24:02 +02:00
Hugo Pereira Da Costa d3d5d9b9d3 Merge branch 'master' into master-no-composite 2011-06-28 09:09:50 +02:00
Hugo Pereira Da Costa f6a12ad1cf coding style. 2011-06-28 09:09:31 +02:00
Hugo Pereira Da Costa 8361b13de9 added double buffering to oxygen-client when compositing is off;
force update of buttons in client->paintEvent();
call _client->paint() from Button, instead of parentWidget()->render();
2011-06-28 01:27:58 +02:00
Hugo Pereira Da Costa 6e0733e0de fixed button rendering when compositing is disabled. 2011-06-28 01:09:22 +02:00
Philipp Knechtges 6ad6c7da8b libkworkspace: tuning glibc allocator
Some applications like kwin suffer from heap fragmentation
when using the raster graphicssystem. This patch provides a function
that forces glibc to shrink the heap more often.
Now 5*pagesize(=20kB on a typical x86 system) of unused space at the
end of the heap are enough to force free()
to release this space. The default threshold is 128kB which is too much
for an average kworkspace application.

REVIEW: 101385
2011-06-27 16:14:57 +02:00
Martin Gräßlin 135d835dd5 Merge branch 'KDE/4.7' 2011-06-26 18:52:18 +02:00
Martin Gräßlin 482ba893d5 Magnifier requires OpenGL 2011-06-26 18:51:08 +02:00
Martin Gräßlin 6cfdbfe1dc Remove compositing self-check
Removes the last bits of the self-check at compositing startup.
It seems like they were only added to XRender because they were
in OpenGL and there they are not available for quite some time.

Also removes the now obsolete disable functionality checks from UI.

REVIEW: 101756
2011-06-26 09:19:22 +02:00
Martin Gräßlin e766fe0a82 Remove the compositing too slow checks
The heuristic never worked reliable.

REVIEW: 101750
2011-06-26 09:18:08 +02:00
Martin Gräßlin c8daeef43c Remove (en|dis)able(Un)NormalizedTexCoords from GLTexture
Those are not used anymore as makeArrays only renders normalized
texCoords and also honors the y-Inverted case.
2011-06-26 09:15:31 +02:00
Arthur Arlt 25654f25b8 Removing TopMenu
Since the funtionality of TopMenu did no longer work in KDE4 this feature was
removed from Workspace. Every reference to it was removed as well as commentaries
and documentation.

REVIEW: 101485
2011-06-24 12:27:56 +02:00
Philipp Knechtges e38ab44ea4 Merge branch 'master' of git.kde.org:/kde-workspace 2011-06-23 15:14:50 +02:00
Martin Gräßlin 66d22738e4 Disable PaintRedirector when non-composited
Without Compositing we do not really need the PaintRedirector,
it only adds overhead. This reverts the behavior to how it was before
the PaintRedirector was introduced by just not redirecting the paint
in the event filter when compositing is not active. This should have
the lowest impact on the existing source base.

The change breaks at least oxygen window decoration when compositing
is not active as the decoration is no longer double buffered. But
as written this is exactly the behavior as used before 4.3. Given
the push today there should be enough time for all affected decos
to adjust to the change.

REVIEW: 101413
2011-06-23 12:37:15 +02:00
Martin Gräßlin 12d3b354fc Remove drawbound move/resize functionality
Drawbound was nowadays only used when compositing is disabled.
For the composited case, the drawbound was replaced by the resize
effect and in fact we should always just use the resize effect.

REVIEW: 101411
2011-06-23 12:15:54 +02:00
Martin Gräßlin 494edbe76f Remove Mouse Emulation from KWin
Mouse Emulation is provided in a better way by KAccess. This provides
a global systemsettings switch to enable mouse emulation instead of
a shortcut and Xkb to enable mouse control with keyboard instead of
sending out fake mouse events.

So no need for duplicated functionality in KWin.

REVIEW: 101406
2011-06-23 11:56:00 +02:00
Philipp Knechtges 116e024d12 kwin: moving KWin::GLTexture to a separate file 2011-06-22 13:03:36 +02:00
Script Kiddy 163824af85 SVN_SILENT made messages (.desktop file) 2011-06-22 09:44:08 +02:00
Script Kiddy 538e9d1467 SVN_SILENT made messages (.desktop file) 2011-06-21 11:01:53 +02:00
Michael Zanetti 5fed91d391 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-06-20 22:00:12 +02:00
Michael Zanetti e1bf590a1c - fixes calculation of WindowMotionManager in case a new destination is set when the window is not at its original position and provide a function to check if windows
are currently moving (by Thomas Lübking)
- make use of new function and bugfix in SlideBack effect
2011-06-20 21:56:56 +02:00
Script Kiddy bbcff0860f SVN_SILENT made messages (.desktop file) 2011-06-20 10:22:05 +02:00
Michael Zanetti 2f10503ee5 fix TabBox detection in SlideBack effect 2011-06-19 22:05:48 +02:00