gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog gui/gtk_glue_agg.cpp


From: Hannes Mayr
Subject: [Gnash-commit] gnash ChangeLog gui/gtk_glue_agg.cpp
Date: Fri, 27 Oct 2006 10:16:00 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Hannes Mayr <bik>       06/10/27 10:16:00

Modified files:
        .              : ChangeLog 
        gui            : gtk_glue_agg.cpp 

Log message:
        Rendering on screens with 8-bit or 16-bit color depth should now work 
properly.
        (sorry commited the wrong file on last commit)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1412&r2=1.1413
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gtk_glue_agg.cpp?cvsroot=gnash&r1=1.8&r2=1.9

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1412
retrieving revision 1.1413
diff -u -b -r1.1412 -r1.1413
--- ChangeLog   26 Oct 2006 23:05:41 -0000      1.1412
+++ ChangeLog   27 Oct 2006 10:16:00 -0000      1.1413
@@ -1,3 +1,7 @@
+2006-10-27 Hannes Mayr <address@hidden>
+       * gtk_glue_agg.cpp: Fixed rendering for screens with 8-bit and
+               16-bit color depth.
+
 2006-10-26 Sandro Santilli <address@hidden>
 
        * server/as_object.h: new add_property() method

Index: gui/gtk_glue_agg.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gtk_glue_agg.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gui/gtk_glue_agg.cpp        27 Oct 2006 10:08:08 -0000      1.8
+++ gui/gtk_glue_agg.cpp        27 Oct 2006 10:16:00 -0000      1.9
@@ -35,7 +35,7 @@
 //
 //
 
-/* $Id: gtk_glue_agg.cpp,v 1.8 2006/10/27 10:08:08 bik Exp $ */
+/* $Id: gtk_glue_agg.cpp,v 1.9 2006/10/27 10:16:00 bik Exp $ */
 
 #include <cstdio>
 #include <cerrno>
@@ -72,7 +72,9 @@
 {
     gdk_rgb_init();
 
-               _bpp = gdk_visual_get_best_depth();
+               // GDK's gdk_draw_rgb_image() needs 24-bit RGB data, so we 
initialize the
+               // AGG renderer with RGB24 and let GTK take care of the proper 
pixel format.
+               _bpp = 24;
     
     return true;
 }
@@ -86,30 +88,7 @@
 render_handler*
 GtkAggGlue::createRenderHandler()
 {
-               char bppformat[7] = {0,}; // char *bppformat;?
-
-               switch(_bpp) {
-       case 8:
-               strncpy(bppformat, "RGBA8", sizeof(bppformat));
-               break;
-       case 16:
-               strncpy(bppformat, "RGB16", sizeof(bppformat));
-               break;
-       case 24:
-               strncpy(bppformat, "RGB24", sizeof(bppformat));
-               break;
-       case 32:
-               strncpy(bppformat, "RGBA32", sizeof(bppformat));
-               break;
-       default:
-               log_error("%i bits per pixel not supported by the AGG 
renderer!\n", _bpp);
-               return NULL;
-    }
-
-               log_msg("GTK-AGG: Create renderer with pixelformat %s\n", 
bppformat);
-               _agg_renderer = create_render_handler_agg(
-       bppformat
-    );
+               _agg_renderer = create_render_handler_agg("RGB24");
     return _agg_renderer;
 }
 
@@ -205,7 +184,7 @@
        miny,
                maxx-minx,
                maxy-miny,
-               GDK_RGB_DITHER_NONE,
+               GDK_RGB_DITHER_NORMAL,
                _offscreenbuf + miny*(_width*(_bpp/8)) + minx*(_bpp/8),
                (int)((_width)*_bpp/8)
        );




reply via email to

[Prev in Thread] Current Thread [Next in Thread]