summaryrefslogtreecommitdiff
path: root/beryl-plugins/src/splash.c
diff options
context:
space:
mode:
authoronestone <onestone@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2007-02-13 00:43:33 +0000
committeronestone <onestone@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2007-02-13 00:43:33 +0000
commit0ab00e046951ad9b6263c8fb0ede3effa86d222d (patch)
treeaf3675da1e41d63d136e72824326d2a0c358bb7b /beryl-plugins/src/splash.c
parent104ed8ebe6ebeed3e48c8b1269a23e36928aacc8 (diff)
downloadmarex-dev-0ab00e046951ad9b6263c8fb0ede3effa86d222d.tar.gz
marex-dev-0ab00e046951ad9b6263c8fb0ede3effa86d222d.tar.bz2
beryl-(core|plugins): moved matrix transformations out of gl (David Reveman)
- group not ported yet - blurfx has bugs but this will be fixed in a rewrite all other plugins should work git-svn-id: file:///beryl/trunk@4005 d7aaf104-2d23-0410-ae22-9d23157bf5a3
Diffstat (limited to 'beryl-plugins/src/splash.c')
-rw-r--r--beryl-plugins/src/splash.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/beryl-plugins/src/splash.c b/beryl-plugins/src/splash.c
index 3603bea..6674b9f 100644
--- a/beryl-plugins/src/splash.c
+++ b/beryl-plugins/src/splash.c
@@ -287,6 +287,7 @@ static void splashDonePaintScreen(CompScreen * s)
static Bool
splashPaintScreen(CompScreen * s, const ScreenPaintAttrib * sa,
+ const CompTransform *transform,
Region region, int output, unsigned int mask)
{
@@ -297,7 +298,7 @@ splashPaintScreen(CompScreen * s, const ScreenPaintAttrib * sa,
XRectangle outputRect;
UNWRAP(ss, s, paintScreen);
- status = (*s->paintScreen) (s, sa, region, output, mask);
+ status = (*s->paintScreen) (s, sa, transform, region, output, mask);
WRAP(ss, s, paintScreen, splashPaintScreen);
screenGetOutputDevRect(s, output, &outputRect);
@@ -309,9 +310,12 @@ splashPaintScreen(CompScreen * s, const ScreenPaintAttrib * sa,
if (!ss->active)
return status;
- glPushMatrix();
- glLoadIdentity();
- prepareXCoords(s, output, -DEFAULT_Z_CAMERA);
+ CompTransform sTransform = *transform;
+
+ transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform);
+
+ glPushMatrix ();
+ glLoadMatrixf (sTransform.m);
float alpha =
(1.0 -
@@ -435,7 +439,7 @@ splashPaintScreen(CompScreen * s, const ScreenPaintAttrib * sa,
glDisable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
UNWRAP(ss, s, paintScreen);
- status = (*s->paintScreen) (s, sa, region, output, mask);
+ status = (*s->paintScreen) (s, sa, transform, region, output, mask);
WRAP(ss, s, paintScreen, splashPaintScreen);
glPushMatrix();
glLoadIdentity();