diff options
Diffstat (limited to 'src/FbTk/Transparent.cc')
-rw-r--r-- | src/FbTk/Transparent.cc | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/FbTk/Transparent.cc b/src/FbTk/Transparent.cc index ed50e9e..ab6b4d9 100644 --- a/src/FbTk/Transparent.cc +++ b/src/FbTk/Transparent.cc | |||
@@ -19,10 +19,11 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: Transparent.cc,v 1.5 2003/05/13 20:50:56 fluxgen Exp $ | 22 | // $Id: Transparent.cc,v 1.6 2004/06/07 11:46:05 rathnor Exp $ |
23 | 23 | ||
24 | #include "Transparent.hh" | 24 | #include "Transparent.hh" |
25 | #include "App.hh" | 25 | #include "App.hh" |
26 | #include "I18n.hh" | ||
26 | 27 | ||
27 | #ifdef HAVE_CONFIG_H | 28 | #ifdef HAVE_CONFIG_H |
28 | #include "config.h" | 29 | #include "config.h" |
@@ -33,12 +34,14 @@ | |||
33 | #endif // HAVE_XRENDER | 34 | #endif // HAVE_XRENDER |
34 | 35 | ||
35 | #include <iostream> | 36 | #include <iostream> |
37 | #include <stdio.h> | ||
36 | using namespace std; | 38 | using namespace std; |
37 | 39 | ||
38 | namespace { | 40 | namespace { |
39 | #ifdef HAVE_XRENDER | 41 | #ifdef HAVE_XRENDER |
40 | Picture createAlphaPic(Window drawable, unsigned char alpha) { | 42 | Picture createAlphaPic(Window drawable, unsigned char alpha) { |
41 | Display *disp = FbTk::App::instance()->display(); | 43 | Display *disp = FbTk::App::instance()->display(); |
44 | _FB_USES_NLS; | ||
42 | 45 | ||
43 | // try to find a specific render format | 46 | // try to find a specific render format |
44 | XRenderPictFormat pic_format; | 47 | XRenderPictFormat pic_format; |
@@ -49,7 +52,7 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) { | |||
49 | PictFormatDepth | PictFormatAlphaMask, | 52 | PictFormatDepth | PictFormatAlphaMask, |
50 | &pic_format, 0); | 53 | &pic_format, 0); |
51 | if (format == 0) { | 54 | if (format == 0) { |
52 | cerr<<"Warning! FbTk::Transparent: Failed to find valid format for alpha."<<endl; | 55 | cerr<<"FbTk::Transparent: "<<_FBTKTEXT(Error, NoRenderFormat, "Warning: Failed to find valid format for alpha.", "transparency requires a pict format, can't get one...")<<endl; |
53 | return 0; | 56 | return 0; |
54 | } | 57 | } |
55 | 58 | ||
@@ -57,7 +60,7 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) { | |||
57 | Pixmap alpha_pm = XCreatePixmap(disp, drawable, | 60 | Pixmap alpha_pm = XCreatePixmap(disp, drawable, |
58 | 1, 1, 8); | 61 | 1, 1, 8); |
59 | if (alpha_pm == 0) { | 62 | if (alpha_pm == 0) { |
60 | cerr<<"Warning! FbTk::Transparent: Failed to create alpha pixmap."<<endl; | 63 | cerr<<"FbTk::Transparent: "<<_FBTKTEXT(Error, NoRenderPixmap, "Warning: Failed to create alpha pixmap.", "XCreatePixmap files for our transparency pixmap")<<endl; |
61 | return 0; | 64 | return 0; |
62 | } | 65 | } |
63 | 66 | ||
@@ -68,7 +71,7 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) { | |||
68 | format, CPRepeat, &attr); | 71 | format, CPRepeat, &attr); |
69 | if (alpha_pic == 0) { | 72 | if (alpha_pic == 0) { |
70 | XFreePixmap(disp, alpha_pm); | 73 | XFreePixmap(disp, alpha_pm); |
71 | cerr<<"Warning! FbTk::Transparent: Failed to create alpha picture."<<endl; | 74 | cerr<<"FbTk::Transparent: "<<_FBTKTEXT(Error, NoRenderPicture, "Warning: Failed to create alpha picture.", "XRenderCreatePicture failed")<<endl; |
72 | return 0; | 75 | return 0; |
73 | } | 76 | } |
74 | 77 | ||
@@ -181,8 +184,12 @@ void Transparent::setDest(Drawable dest, int screen_num) { | |||
181 | XRenderPictFormat *format = | 184 | XRenderPictFormat *format = |
182 | XRenderFindVisualFormat(disp, | 185 | XRenderFindVisualFormat(disp, |
183 | DefaultVisual(disp, screen_num)); | 186 | DefaultVisual(disp, screen_num)); |
184 | if (format == 0) | 187 | if (format == 0) { |
185 | cerr<<"Warning! FbTk::Transparent: Failed to find format for screen("<<screen_num<<")"<<endl; | 188 | _FB_USES_NLS; |
189 | cerr<<"FbTk::Transparent: "; | ||
190 | fprintf(stderr, _FBTKTEXT(Error, NoRenderVisualFormat, "Failed to find format for screen(%d)", "XRenderFindVisualFormat failed... include %d for screen number"), screen_num); | ||
191 | cerr<<endl; | ||
192 | } | ||
186 | m_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0); | 193 | m_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0); |
187 | 194 | ||
188 | 195 | ||
@@ -216,8 +223,12 @@ void Transparent::setSource(Drawable source, int screen_num) { | |||
216 | XRenderPictFormat *format = | 223 | XRenderPictFormat *format = |
217 | XRenderFindVisualFormat(disp, | 224 | XRenderFindVisualFormat(disp, |
218 | DefaultVisual(disp, screen_num)); | 225 | DefaultVisual(disp, screen_num)); |
219 | if (format == 0) | 226 | if (format == 0) { |
220 | cerr<<"Warning! FbTk::Transparent: Failed to find format for screen("<<screen_num<<")"<<endl; | 227 | _FB_USES_NLS; |
228 | cerr<<"FbTk::Transparent: "; | ||
229 | fprintf(stderr, _FBTKTEXT(Error, NoRenderVisualFormat, "Failed to find format for screen(%d)", "XRenderFindVisualFormat failed... include %d for screen number"), screen_num); | ||
230 | cerr<<endl; | ||
231 | } | ||
221 | m_src_pic = XRenderCreatePicture(disp, m_source, format, | 232 | m_src_pic = XRenderCreatePicture(disp, m_source, format, |
222 | 0, 0); | 233 | 0, 0); |
223 | } | 234 | } |