<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>303314</bug_id>
          
          <creation_ts>2012-07-10 15:51:42 +0000</creation_ts>
          <short_desc>Refactor Screen/Window PaintData</short_desc>
          <delta_ts>2012-07-19 16:29:57 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Plasma</classification>
          <product>kwin</product>
          <component>compositing</component>
          <version>4.8.90</version>
          <rep_platform>unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://git.reviewboard.kde.org/r/105141/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>task</bug_severity>
          <target_milestone>4.10</target_milestone>
          
          <blocked>303313</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Flöser">mgraesslin</reporter>
          <assigned_to name="KWin default assignee">kwin-bugs-null</assigned_to>
          
          
          <cf_commitlink>http://commits.kde.org/kde-workspace/8d6f6b3f3f73d67f955c1335a05a672d6cc994bf</cf_commitlink>
          <cf_versionfixedin>4.10</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      <flag name="ReviewRequest"
          id="233"
          type_id="14"
          status="+"
          setter="mgraesslin"
    />

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274797</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-07-10 15:51:42 +0000</bug_when>
    <thetext>Screen/WindowPaintData is showing two real issues:
1. it has public members which are read/written everywhere
2. it uses double for translation/scale/opacity/brightness

These two issues can be addressed by refactoring the classes to have a sane API and using qreal everywhere. This will make it easier to have the final conversion to float just in one place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1277460</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-07-19 16:29:57 +0000</bug_when>
    <thetext>Git commit 8d6f6b3f3f73d67f955c1335a05a672d6cc994bf by Martin Gräßlin.
Committed on 12/07/2012 at 17:20.
Pushed by graesslin into branch &apos;master&apos;.

Getter/setters for opacity, saturation and brightness in WindowPaintData

The public member variables for opacity, saturation and brightness
are removed in favor for getter and setters. The variables are
moved into a private class. Those are now qreal instead of double.

To make usage inside the effects easier a multiply method is added
which multiplies the current value with passed in factor and returns
the new value in a functional programming style.

This commit is the top-most of a patch series to refactor
ScreenPaintData and WindowPaintData. Other related commits are:
* 0811772
* ebdc7ec
* 2c8dd8d
* 7699726
* 68e0201
* 611cb09

REVIEW: 105141
FIXED-IN: 4.10

M  +2    -2    kwin/effects/blur/blur.cpp
M  +2    -2    kwin/effects/boxswitch/boxswitch.cpp
M  +11   -11   kwin/effects/coverswitch/coverswitch.cpp
M  +1    -1    kwin/effects/cube/cube.cpp
M  +2    -2    kwin/effects/cube/cubeslide.cpp
M  +3    -5    kwin/effects/dashboard/dashboard.cpp
M  +4    -4    kwin/effects/desktopgrid/desktopgrid.cpp
M  +2    -2    kwin/effects/dialogparent/dialogparent.cpp
M  +2    -2    kwin/effects/diminactive/diminactive.cpp
M  +2    -2    kwin/effects/dimscreen/dimscreen.cpp
M  +1    -1    kwin/effects/explosion/explosion.cpp
M  +15   -15   kwin/effects/flipswitch/flipswitch.cpp
M  +1    -1    kwin/effects/glide/glide.cpp
M  +1    -1    kwin/effects/highlightwindow/highlightwindow.cpp
M  +4    -4    kwin/effects/login/login.cpp
M  +10   -10   kwin/effects/logout/logout.cpp
M  +1    -1    kwin/effects/minimizeanimation/minimizeanimation.cpp
M  +6    -6    kwin/effects/presentwindows/presentwindows.cpp
M  +1    -1    kwin/effects/scalein/scalein.cpp
M  +2    -2    kwin/effects/taskbarthumbnail/taskbarthumbnail.cpp
M  +1    -1    kwin/effects/thumbnailaside/thumbnailaside.cpp
M  +11   -11   kwin/effects/translucency/translucency.cpp
M  +13   -13   kwin/lanczosfilter.cpp
M  +3    -3    kwin/libkwineffects/kwinanimationeffect.cpp
M  +87   -8    kwin/libkwineffects/kwineffects.cpp
M  +65   -6    kwin/libkwineffects/kwineffects.h
M  +2    -2    kwin/scene.cpp
M  +6    -6    kwin/scene_opengl.cpp
M  +6    -6    kwin/scene_xrender.cpp
M  +95   -2    kwin/tests/test_window_paint_data.cpp

http://commits.kde.org/kde-workspace/8d6f6b3f3f73d67f955c1335a05a672d6cc994bf</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>