]> git.vomp.tv Git - vompclient.git/blob - vwallpaper.cc
Initial import
[vompclient.git] / vwallpaper.cc
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20
21 #include "vwallpaper.h"
22
23 VWallpaper::VWallpaper()
24 {
25
26 }
27
28 VWallpaper::~VWallpaper()
29 {
30   delete surface;
31 }
32
33 void VWallpaper::init(char* name)
34 {
35   jpeg.init(name);
36
37   Osd* o = Osd::getInstance();
38   setDimensions(o->getScreenHeight(), o->getScreenWidth());
39
40   // Now override the surface pointer found in Box to a seperate wallpaper surface
41   // but only for the wjpeg, not for this object
42   wallpaperSurface = new Surface(o->getFD(), 0);
43   wallpaperSurface->create(height, width);
44
45   jpeg.overrideSurface(wallpaperSurface);
46   jpeg.draw();
47 }
48
49 void VWallpaper::draw()
50 {
51   // we want to blit from wallpaperSurface to buffer (or screen if !doubleBuffer)
52   Surface::blt(Osd::getInstance()->getFD(), wallpaperSurface->getSurfaceHandle(), 0, 0, width, height, surface->getSurfaceHandle(), 0, 0);
53   // and the fd business here is terrible, but what can you do.
54 }