gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] [SCM] Gnash branch, openvg, updated. 0e70385951cc848def30


From: Rob Savoye
Subject: [Gnash-commit] [SCM] Gnash branch, openvg, updated. 0e70385951cc848def30068acb7fb51276b13ad0
Date: Thu, 16 Dec 2010 03:30:55 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, openvg has been updated
       via  0e70385951cc848def30068acb7fb51276b13ad0 (commit)
       via  db619907e41ab8adc02c2a48442bab3a2109ca54 (commit)
       via  bae1e32ad07267a847a22d965c9c843e5b6748a8 (commit)
       via  9a4678b74ae87da2c17ed8c9237ff47b02e66418 (commit)
       via  a75d7fc286879179d2ee8a7e20146cb2cfba6836 (commit)
       via  62c37fd569b0f19a4466c09afbfca286aca36452 (commit)
      from  8dda236c7a9714629fb2cba541f9a65331b3f9c7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=0e70385951cc848def30068acb7fb51276b13ad0


commit 0e70385951cc848def30068acb7fb51276b13ad0
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 20:28:46 2010 -0700

    diable libltdl for not causes problems on ltib

diff --git a/libbase/Makefile.am b/libbase/Makefile.am
index a80688f..c73384e 100644
--- a/libbase/Makefile.am
+++ b/libbase/Makefile.am
@@ -124,17 +124,16 @@ if USE_GIF
 libgnashbase_la_SOURCES += GnashImageGif.cpp
 endif
 
-if LIBLTDL1
-noinst_LTLIBRARIES = libltdlc.la
-libltdlc_la_CPPFLAGS = $(LTDLINCL) -I$(top_srcdir)/libltdl
-libltdlc_la_SOURCES = $(top_srcdir)/libltdl/ltdl.c
-libgnashbase_la_LIBADD += $(top_builddir)/libbase/libltdlc.la
-endif
-
-if LIBLTDL2
-libgnashbase_la_LIBADD += $(top_builddir)/libltdl/libltdlc.la
-endif
-
+# if LIBLTDL1
+# noinst_LTLIBRARIES = libltdlc.la
+# libltdlc_la_CPPFLAGS = $(LTDLINCL) -I$(top_srcdir)/libltdl
+# libltdlc_la_SOURCES = $(top_srcdir)/libltdl/ltdl.c
+# libgnashbase_la_LIBADD += $(top_builddir)/libbase/libltdlc.la
+# endif
+
+# if LIBLTDL2
+# libgnashbase_la_LIBADD += $(top_builddir)/libltdl/libltdlc.la
+# endif
 
 if HAIKU
   libgnashbase_la_LIBADD += $(HAIKU_LIBS)

http://git.savannah.gnu.org/cgit//commit/?id=db619907e41ab8adc02c2a48442bab3a2109ca54


commit db619907e41ab8adc02c2a48442bab3a2109ca54
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 20:27:41 2010 -0700

    migrate libpng patch from master

diff --git a/libbase/GnashImagePng.cpp b/libbase/GnashImagePng.cpp
index 98352b0..1b3199f 100644
--- a/libbase/GnashImagePng.cpp
+++ b/libbase/GnashImagePng.cpp
@@ -161,7 +161,11 @@ PngInput::read()
     // Convert less-than-8-bit greyscale to 8 bit.
     if (type == PNG_COLOR_TYPE_GRAY && bitDepth < 8) {
         log_debug("Setting grey bit depth(%d) to 8", bitDepth);
+#if PNG_LIBPNG_VER_MINOR < 4
+        png_set_gray_1_2_4_to_8(_pngPtr);
+#else
         png_set_expand_gray_1_2_4_to_8(_pngPtr);
+#endif
     }
 
     // Apply the transparency block if it exists.

http://git.savannah.gnu.org/cgit//commit/?id=bae1e32ad07267a847a22d965c9c843e5b6748a8


commit bae1e32ad07267a847a22d965c9c843e5b6748a8
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 20:27:04 2010 -0700

    rearrange headers for different OpenVG versions

diff --git a/librender/openvg/Renderer_ovg.cpp 
b/librender/openvg/Renderer_ovg.cpp
index 6060951..89e2c8c 100644
--- a/librender/openvg/Renderer_ovg.cpp
+++ b/librender/openvg/Renderer_ovg.cpp
@@ -39,12 +39,19 @@
 #include "utility.h"
 #include "Range2d.h"
 #include "SWFCxForm.h"
-#include "Renderer_ovg.h"
-#include "Renderer_ovg_bitmap.h"
+#include "openvg/Renderer_ovg.h"
+#include "openvg/Renderer_ovg_bitmap.h"
 #include "SWFMatrix.h"
 #include "swf/ShapeRecord.h"
 #include "CachedBitmap.h"
 
+#include <VG/openvg.h>
+#include <VG/vgu.h>
+#ifdef OPENVG_VERSION_1_1
+# include <VG/ext.h>
+#else
+# include <VG/vgext.h>
+#endif
 #define GNASH_IMAGE_QUALITY     VG_IMAGE_QUALITY_FASTER
 #define GNASH_RENDER_QUALITY    VG_RENDERING_QUALITY_FASTER
 
@@ -437,11 +444,6 @@ Renderer_ovg::drawLine(const std::vector<point>& coords, 
const rgba& fill,
     int         scount = 0;
     int         dcount = 0;
 
-    if (!_device) {
-        log_error("No Device specified for OpenVG to draw on!");
-        return;
-    }
-    
     if (coords.empty()) return;
     
     eglScopeMatrix scope_mat(mat);
@@ -614,11 +616,11 @@ Renderer_ovg::apply_mask()
     vgLoadMatrix(mat);
     
 #ifdef OPENVG_VERSION_1_1    
-    vgMask(m_mask, VG_FILL_MASK, 0, 0, _display_width, _display_height); FIXME
+    vgMask(m_mask, VG_FILL_MASK, 0, 0, _display_width, _display_height); // 
FIXME
 #endif
 // Call add_paths for each mask.
     std::for_each(_masks.begin(), _masks.end(),
-                  boost::bind(&Renderer_ovg::add_paths, this, _1));    
+                  boost::bind(&Renderer_ovg::add_paths, this, _1));
     vgSeti(VG_MASKING, VG_TRUE);      
     vgLoadMatrix (omat);
 }
@@ -1169,9 +1171,9 @@ Renderer_ovg::draw_submask(const PathVec& path_vec,
     }
     
 #ifdef OPENVG_VERSION_1_1    
-    vgRenderToMask(vg_path, VG_FILL_PATH, VG_INTERSECT_MASK); FIXME
+    vgRenderToMask(vg_path, VG_FILL_PATH, VG_INTERSECT_MASK); //FIXME
 #endif
-                                                                  
vgDestroyPath(vg_path);
+    vgDestroyPath(vg_path);
 }
 
 // Drawing procedure:
@@ -1298,9 +1300,11 @@ Renderer_ovg::printVGParams()
       case VG_MATRIX_STROKE_PAINT_TO_USER:
           str = "VG_MATRIX_STROKE_PAINT_TO_USER";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_MATRIX_MODE_FORCE_SIZE:
           str = "VG_MATRIX_MODE_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_MATRIX_MODE!");
     }
@@ -1330,9 +1334,11 @@ Renderer_ovg::printVGParams()
       case VG_IMAGE_QUALITY_BETTER:
           str = "VG_IMAGE_QUALITY_BETTER";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_IMAGE_QUALITY_FORCE_SIZE:
           str = "VG_IMAGE_QUALITY_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_IMAGE_QUALITY!");
     }
@@ -1349,9 +1355,11 @@ Renderer_ovg::printVGParams()
       case VG_RENDERING_QUALITY_BETTER:
           str = "VG_RENDERING_QUALITY_BETTER";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_RENDERING_QUALITY_FORCE_SIZE:
           str = "VG_RENDERING_QUALITY_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_RENDERING_QUALITY!");
     }
@@ -1405,9 +1413,11 @@ Renderer_ovg::printVGParams()
       case VG_DRAW_IMAGE_STENCIL:
           str = "VG_DRAW_IMAGE_STENCIL";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_IMAGE_MODE_FORCE_SIZE:
           str = "VG_IMAGE_MODE_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_IMAGE_MODE!");
     }
@@ -1427,9 +1437,11 @@ Renderer_ovg::printVGParams()
       case VG_CAP_SQUARE:
           str = "VG_CAP_SQUARE";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_CAP_STYLE_FORCE_SIZE:
           str = "VG_CAP_STYLE_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_STROKE_CAP_STYLE!");
     }
@@ -1446,9 +1458,11 @@ Renderer_ovg::printVGParams()
       case VG_JOIN_BEVEL:
           str = "VG_JOIN_BEVEL";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_JOIN_STYLE_FORCE_SIZE:
           str = "VG_JOIN_STYLE_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_STROKE_JOIN_STYLE!");
     }
@@ -1476,9 +1490,11 @@ Renderer_ovg::printVGParams()
       case VG_PIXEL_LAYOUT_BGR_HORIZONTAL:
           str = "VG_PIXEL_LAYOUT_BGR_HORIZONTAL";
           break;
+#ifdef VG_MATRIX_MODE_FORCE_SIZE
       case VG_PIXEL_LAYOUT_FORCE_SIZE:
           str = "VG_PIXEL_LAYOUT_FORCE_SIZE";
           break;
+#endif
       default:
           log_error("unsupported VG_PIXEL_LAYOUT!");
     }
@@ -1518,12 +1534,7 @@ Renderer_ovg::initTestBuffer(unsigned int width, 
unsigned int height)
 {
     int size = width * height * getBitsPerPixel(); // FIXME was Bytes not bits
 
-#ifdef HAVE_GTK2
-    // new surface
-    // makeCurrentContext
-    
-#else
-    
+#if 0
     // _testBuffer = static_cast<unsigned char *>(realloc(_testBuffer, size));
     _testBuffer = new unsigned char[size];
     memset(_testBuffer, 0, size);
diff --git a/librender/openvg/Renderer_ovg.h b/librender/openvg/Renderer_ovg.h
index 2a0e535..41ec028 100644
--- a/librender/openvg/Renderer_ovg.h
+++ b/librender/openvg/Renderer_ovg.h
@@ -23,19 +23,24 @@
 #define GNASH_RENDER_HANDLER_OVG_H
 
 #include <EGL/egl.h>
-#include <VG/openvg.h>
-#include <VG/vgu.h>
-#include <VG/vgext.h>
 #include <vector>
 #include <boost/scoped_array.hpp>
 #include <boost/scoped_ptr.hpp>
 
 #include "Geometry.h"
 #include "Renderer.h"
-#include "egl/eglDevice.h"
-#include "directfb/DirectFBDevice.h"
+//#include "directfb/DirectFBDevice.h"
 #include "GnashDevice.h"
 #include "CachedBitmap.h"
+#include <VG/vgu.h>
+#ifdef OPENVG_VERSION_1_1
+# include <VG/ext.h>
+#else
+# include <VG/vgext.h>
+#endif
+#include <VG/openvg.h>
+#include "openvg/Renderer_ovg_bitmap.h"
+#include "egl/eglDevice.h"
 
 namespace gnash {
 
diff --git a/librender/testr.cpp b/librender/testr.cpp
index f2b81a3..0426e47 100644
--- a/librender/testr.cpp
+++ b/librender/testr.cpp
@@ -37,6 +37,7 @@
 #include "SWFMatrix.h"
 #include "Renderer.h"
 #include "Transform.h"
+#include "ShapeRecord.h"
 #include "CachedBitmap.h"
 #include "GnashVaapiImage.h"
 #include "GnashVaapiImageProxy.h"
@@ -50,6 +51,9 @@
 #endif
 #ifdef RENDERER_OPENVG
 #include "openvg/Renderer_ovg.h"
+//#include <VG/openvg.h>
+#include <VG/vgu.h>
+#include <VG/ext.h>
 #endif
 #ifdef RENDERER_GLES1
 #include "opengles1/Renderer_gles1.h"
@@ -62,13 +66,12 @@
 #endif
 #ifdef HAVE_EGL_EGL_H
 # include <EGL/egl.h>
-# include <eglDevice.h>
 #else
 # error "This file needs EGL"
 #endif
 
 #ifdef BUILD_EGL_DEVICE
-# include <eglDevice.h>
+# include <egl/eglDevice.h>
 #endif
 #ifdef BUILD_DIRECTFB_DEVICE
 # include <directfb/directfb.h>
@@ -92,56 +95,6 @@ void test_iterators(Renderer *renderer, const std::string 
&type);
 // The debug log used by all the gnash libraries.
 static LogFile& dbglogfile = LogFile::getDefaultInstance();
 
-//
-// Test drawing.
-//
-float red_color[4] = {1.0, 0.0, 0.0, 1.0};
-float blue_color[4] = {0.0, 0.0, 1.0, 1.0};
-
-#ifdef BUILD_X11_DEVICE
-static x11::init_func    init = 0;
-static x11::draw_func    draw = 0;
-static x11::reshape_func reshape = 0;
-static x11::key_func     keyPress = 0;
-static int width = 640, height = 480;
-
-#if 0
-static void
-init(void)
-{
-    GNASH_REPORT_FUNCTION;  
-}
-
-// new window size or exposure
-static void
-reshape(int /* width */, int /* height */)
-{
-    GNASH_REPORT_FUNCTION;
-    
-    vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
-    GNASH_REPORT_FUNCTION;
-    
-    VGint scissor[4] = {100, 100, 25, 25};
-    vgSetfv(VG_CLEAR_COLOR, 4, red_color);
-    vgClear(0, 0, 640, 480);
-
-    vgSetfv(VG_CLEAR_COLOR, 4, blue_color);
-    vgClear(50, 50, 50, 50);
-
-    //vgSetiv(VG_SCISSOR_RECTS, 4, scissor);
-    //vgSeti(VG_SCISSORING, VG_TRUE);
-    vgCopyPixels(100, 100, 50, 50, 50, 50);
-    vgClear(150, 150, 50, 50);
-}
-#endif  // end of BUILD_X11_DEVICE
-
-#endif
-
 //------------------------------------------------------------
 
 // Simple class to do nanosecond based timing for performance analysis
@@ -194,17 +147,21 @@ main(int argc, char *argv[])
     dbglogfile.setVerbosity();
 
     const char *pixelformat = "RGB24";
-
+    
 #ifdef BUILD_X11_DEVICE
-    EGLDevice egl(GnashDevice::OPENVG);
-    // egl.initDevice(0,0);
-    // egl.bindClient(GnashDevice::OPENVG);
+    // Setup EGL, OpenVG needs it
+    EGLDevice egl(argc, argv);
     int vid = egl.getNativeVisual();
+
+    // Create an X11 device for the display. This is for libMesa
+    // where we can also run OpenVG on the desktop.
     x11::X11Device x11(vid);
-    // x11.initDevice(0, 0);
+    //x11.initDevice(argc, argv);
+    x11.createWindow("TestR", 0, 0, 640, 480);
+    egl.bindClient(GnashDevice::OPENVG);
     
-    x11.createWindow("Foo", 0, 0, 640, 480);
-    int win = x11.getDrawableWindow();
+    // This is the window that gets rendered in
+    Window win = x11.getDrawableWindow();
     if (win) {
         egl.attachWindow(win);
     } else {
@@ -214,21 +171,25 @@ main(int argc, char *argv[])
     // Set initial projection/viewing transformation.
     // We can't be sure we'll get a ConfigureNotify event when the window
     // first appears.
+#if 0
     if (reshape) {
         reshape(640, 480);
     }
+#endif
     x11.eventLoop(10);
     std::cerr << "Hello World!" << std::endl;
     x11.eventLoop(10);
 #endif
+#if 0
 #ifdef RENDERER_AGG
     Timer tagg("AGG");
     Renderer *renderer1 = create_Renderer_agg(pixelformat);
-    if (renderer1) {
-        test_device(renderer1, "EGL");
-        test_device(renderer1, "DIRECTFB");
-        test_device(renderer1, "X11");
-    }
+    // The methods were moved to the glue API
+    // if (renderer1) {
+    //     test_device(renderer1, "EGL");
+    //     test_device(renderer1, "DIRECTFB");
+    //     test_device(renderer1, "X11");
+    // }
     if (renderer1) {
         test_renderer(renderer1, "AGG");
         test_geometry(renderer1, "AGG");
@@ -257,7 +218,7 @@ main(int argc, char *argv[])
     cerr << "OpenVG tests took " << tovg.elapsed() << endl;
 #endif
     
-#if 1
+#if 0
 #ifdef RENDERER_GLES1
     Timer tgles1("OpenGLES1");
     Renderer *renderer3 = renderer::gles1::create_handler(pixelformat);
@@ -314,6 +275,7 @@ main(int argc, char *argv[])
     cerr << "OpenGL tests took " << tgl.elapsed() << endl;
 #endif
 #endif    
+#endif    
 }
 
 // Each Renderer has an associated display device, currently EGL
@@ -329,13 +291,13 @@ test_device(Renderer *renderer, const std::string &type)
 {
     cout << "Testing " << type << " Device" << endl;
 
+#if 0
     boost::shared_array<renderer::GnashDevice::dtype_t> devs = 
renderer->probeDevices();
     if (devs) {
         runtest.pass("Renderer::probeDevices()");
     } else {
         runtest.fail("Renderer::probeDevices()");
     }
-
     // Be default, there should be no device associated with this
     // renderer yet.
     if (renderer->getDevice() == GnashDevice::NODEV) {
@@ -354,6 +316,7 @@ test_device(Renderer *renderer, const std::string &type)
 
     // reset to the original value so we don't screw up future tests
     renderer->resetDevice();
+#endif
 }
 
 void
@@ -477,12 +440,18 @@ test_renderer(Renderer *renderer, const std::string &type)
     runtest.unresolved(std::string("drawPoly() ") + tdrawpoly.elapsed());
     
 //    SWF::ShapeRecord shape;
-    // Transform xform;
-    
-//    Timer drawshape("drawShape");
-//    renderer->drawShape(shape, xform);
-    runtest.untested("drawShape()");
-//    drawshape.stop();
+    SWFMatrix mat2(0x10000, 0x0, 0x0, 0x10000, 0x0, 0x0);
+    SWFCxForm cxform;
+    //(0x100, 0x100, 0x100, 0x100, 0x0, 0x0, 0x0, 0x0);
+    Transform xform(mat2, cxform);
+    SWF::ShapeRecord shape;
+    // _bounds = {0x80000000, 0x7fffffff,
+    //            0x80000000, 0x80000000,
+    //            0x80000000, 0x80000000}}
+    Timer drawshape("drawShape");
+    renderer->drawShape(shape, xform);
+    runtest.unresolved("drawShape()");
+    drawshape.stop();
     
 //    SWF::ShapeRecord rec;
     // rgba color;
diff --git a/librender/testr_gtk.cpp b/librender/testr_gtk.cpp
index 9fc7776..6a4bb36 100644
--- a/librender/testr_gtk.cpp
+++ b/librender/testr_gtk.cpp
@@ -41,8 +41,9 @@
 #endif
 #ifdef RENDERER_OPENVG
 #include "openvg/Renderer_ovg.h"
-#include <VG/openvg.h>
+//#include <VG/openvg.h>
 #include <VG/vgu.h>
+#include <VG/ext.h>
 #endif
 #ifdef RENDERER_GLES1
 #include "opengles1/Renderer_gles1.h"
@@ -54,6 +55,16 @@
 #include "cairo/Renderer_cairo.h"
 #endif
 
+#ifdef BUILD_EGL_DEVICE
+# include <egl/eglDevice.h>
+#endif
+#ifdef BUILD_DIRECTFB_DEVICE
+# include <directfb/directfb.h>
+#endif
+#ifdef BUILD_X11_DEVICE
+# include <x11/X11Device.h>
+#endif
+
 #include "log.h"
 #include "SWFMatrix.h"
 #include "Renderer.h"
@@ -69,25 +80,11 @@ const VGfloat color[4] = {0.4, 0.1, 1.0, 1.0};
 
 VGPath path;
 VGPaint paint;
+VGPaint fill;
 
 // The debug log used by all the gnash libraries.
 static LogFile& dbglogfile = LogFile::getDefaultInstance();
 
-void on_window1_activate_default(GtkWindow *window, gpointer user_data);
-void on_canvas_realize (GtkWidget *widget, gpointer user_data);
-gboolean on_canvas_expose_event (GtkWidget *widget, GdkEventExpose *event,
-                                        gpointer user_data);
-gboolean on_canvas_configure_event (GtkWidget *widget, GdkEventConfigure 
*event,
-                                          gpointer user_data);
-void on_canvas_size_allocate (GtkWidget *widget, GdkRectangle *allocation,
-                                        gpointer user_data);
-gboolean on_window1_configure_event (GtkWidget *widget, GdkEventConfigure 
*event,
-                                     gpointer user_data);
-gboolean on_window1_expose_event (GtkWidget *widget, GdkEventExpose *event,
-                                        gpointer user_data);
-void on_window1_realize (GtkWidget *widget, gpointer user_data);
-void on_window1_size_allocate (GtkWidget *widget, GdkRectangle *allocation,
-                                        gpointer user_data);
 
 static void
 initVGDemo(void)
@@ -120,7 +117,7 @@ initVGDemo(void)
     path  = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
                          1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
 
-//    vguArc(path, x, y, w, h, startAngle, angleExtent, (VGUArcType)arcType);
+    vguArc(path, x, y, w, h, startAngle, angleExtent, (VGUArcType)arcType);
 
     vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
     vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_BEVEL);
@@ -129,153 +126,46 @@ initVGDemo(void)
 
 /* new window size or exposure */
 static void
-reshape(int w, int h)
-{
-   vgLoadIdentity();
-}
-
-static void
-draw(void)
-{
-   vgClear(0, 0, 500, 500);
-   vgDrawPath(path, VG_STROKE_PATH);
-
-   vgFlush();
-}
-
-GtkWidget *
-create_GTK_window()
+init(void)
 {
-    // As gtk_init() wants the command line arguments, we have to create
-    // fake ones, as we don't care about the X11 options at this point.
-    int argc = 0;
-    char **argv = 0;    
-    gtk_init(&argc, &argv);
-
-    GtkWidget *window;
-    GtkWidget *canvas;
-
-    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    gtk_container_set_border_width(GTK_CONTAINER(window), 10);
-    gtk_window_set_title(GTK_WINDOW(window), "testR");
-
-#if 0
-    gtk_widget_push_visual(gdk_rgb_get_visual());
-    gtk_widget_push_colormap(gdk_rgb_get_cmap());
-    gtk_widget_pop_colormap();
-    gtk_widget_pop_visual();
-#endif
-    canvas = gtk_drawing_area_new();
-    gtk_widget_show(canvas);
-    gtk_container_add (GTK_CONTAINER (window), canvas);
-    // Disable double buffering, otherwise gtk tries to update widget
-    // contents from its internal offscreen buffer at the end of expose event
-    gtk_widget_set_double_buffered(canvas, FALSE);
-    
-    g_signal_connect(GTK_OBJECT(window), "delete_event",
-                     (GCallback)gtk_main_quit, NULL);
-    g_signal_connect ((gpointer) window, "configure_event",
-                      G_CALLBACK (on_window1_configure_event), NULL);
-    g_signal_connect ((gpointer) window, "expose_event",
-                    G_CALLBACK (on_window1_expose_event), NULL);
-    g_signal_connect ((gpointer) window, "realize",
-                      G_CALLBACK (on_window1_realize), NULL);
-    g_signal_connect ((gpointer) window, "size_allocate",
-                      G_CALLBACK (on_window1_size_allocate), NULL);
+    static const VGubyte sqrCmds[5] = {VG_MOVE_TO_ABS, VG_HLINE_TO_ABS,
+                                       VG_VLINE_TO_ABS, VG_HLINE_TO_ABS, 
VG_CLOSE_PATH};
+    static const VGfloat sqrCoords[5] = {50.0f, 50.0f, 250.0f, 250.0f, 50.0f};
+    path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F, 1, 0, 0, 
0,
+                        VG_PATH_CAPABILITY_APPEND_TO);
+    vgAppendPathData(path, 5, sqrCmds, sqrCoords);
     
-    g_signal_connect ((gpointer) canvas, "realize",
-                      G_CALLBACK (on_canvas_realize), NULL);
-    g_signal_connect ((gpointer) canvas, "expose_event",
-                      G_CALLBACK (on_canvas_expose_event), NULL);
-    g_signal_connect ((gpointer) canvas, "configure_event",
-                      G_CALLBACK (on_canvas_configure_event), NULL);
-    g_signal_connect ((gpointer) canvas, "size_allocate",
-                      G_CALLBACK (on_canvas_size_allocate), NULL);
-
-    // Add the window frame and icons
-    gtk_window_set_decorated(GTK_WINDOW(window), TRUE);
-    gtk_window_set_default_size(GTK_WINDOW(window),500,500);
-
-    gtk_window_set_skip_taskbar_hint(GTK_WINDOW(window), TRUE);
-    gtk_window_set_skip_pager_hint(GTK_WINDOW(window), TRUE);
-
-    // Open window at this location
-    gtk_window_move(GTK_WINDOW(window), 100, 100);
-    
-    gtk_widget_show(window);
+    VGPaint fill = vgCreatePaint();
+    vgSetParameterfv(fill, VG_PAINT_COLOR, 4, color);
+    vgSetPaint(fill, VG_FILL_PATH);
     
-    // Just do one iteration of the main loop
-    gtk_main_iteration_do(true);
-    
-    return canvas;
-}
-
-void
-on_canvas_realize(GtkWidget *widget, gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
-}
-
-gboolean
-on_canvas_expose_event(GtkWidget *widget, GdkEventExpose  *event,
-                       gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
+    vgSetfv(VG_CLEAR_COLOR, 4, white_color);
+    vgSetf(VG_STROKE_LINE_WIDTH, 10);
+    vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
+    vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
+    vgSetf(VG_STROKE_MITER_LIMIT, 4.0f);
     
-    return FALSE;
-}
-
-gboolean
-on_canvas_configure_event(GtkWidget *widget, GdkEventConfigure *event,
-                          gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
-
-    return FALSE;
-}
-
-
-void
-on_canvas_size_allocate(GtkWidget *widget, GdkRectangle *allocation,
-                        gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
+//    printVGParams();
 }
 
-// Window Events
-gboolean
-on_window1_configure_event(GtkWidget *widget, GdkEventConfigure *event,
-                           gpointer user_data)
+static void
+reshape(int w, int h)
 {
-    GNASH_REPORT_FUNCTION;
-
-    return FALSE;
+   vgLoadIdentity();
 }
 
-
-gboolean
-on_window1_expose_event(GtkWidget *widget, GdkEventExpose  *event,
-                        gpointer user_data)
+static void
+draw(void)
 {
-    GNASH_REPORT_FUNCTION;
+    vgClear(0, 0, 640, 480);
+    vgSeti(VG_MATRIX_MODE, VG_MATRIX_STROKE_PAINT_TO_USER);
+    vgLoadIdentity();
+    vgScale(2.25, 2.25);
+    vgDrawPath(path, VG_STROKE_PATH);
     
-    return FALSE;
+    vgFlush();
 }
 
-void
-on_window1_realize(GtkWidget *widget, gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
-}
-
-void
-on_window1_size_allocate(GtkWidget *widget, GdkRectangle *allocation,
-                         gpointer user_data)
-{
-    GNASH_REPORT_FUNCTION;
-}
-
-
 // Local Variables:
 // mode: C++
 // indent-tabs-mode: nil

http://git.savannah.gnu.org/cgit//commit/?id=9a4678b74ae87da2c17ed8c9237ff47b02e66418


commit 9a4678b74ae87da2c17ed8c9237ff47b02e66418
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 18:39:22 2010 -0700

    add OpenVG debug display at end. COmment out libltdl till we fix it right. 
Limit the set of default devices to what the babbage board supports

diff --git a/configure.ac b/configure.ac
index 140b246..b025e3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,9 @@ AC_PROG_CXX
 AC_EXEEXT
 AC_PROG_INSTALL
 AM_COMPILER_LIB
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_C_INLINE
 
 dnl Set the default values for Flash Version. These are converted into
 dnl various strings to make JavaScript or ActionScript detectors
@@ -282,44 +285,8 @@ dnl   $CXXFLAGS="$CXXFLAGS -march=${with_cpu}"
    cross_compiling=yes
 fi
 
-AC_MSG_CHECKING([For the version of libtool])
-if test -d ${srcdir}/libltdl/libltdl; then
-  ltver=2.x
-else
-  ltver=1.x
-fi
-ltmajor=`echo $ltver | cut -d '.' -f 1`
-AC_MSG_RESULT([$ltver])
-AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
-AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
-if test $ltmajor -eq 1; then
-  AC_LIBLTDL_CONVENIENCE
-  AC_LIBTOOL_DLOPEN
-  if test x"${windows}" = x"yes"; then
-    dnl The following macro may be empty; the colon is necessary
-    dnl in this case to avoid an empty if statement (which is a syntax error).
-    AC_LIBTOOL_WIN32_DLL
-    :
-  fi
-  AC_DISABLE_STATIC
-else
-  LT_INIT([dlopen win32-dll disable-static])
-  LTDL_INIT([convenience recursive])
-fi
 AC_PROG_LIBTOOL
-
-AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
-AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
-
-AC_C_BIGENDIAN
-AC_C_CONST
-AC_C_INLINE
 AC_SUBST([LIBTOOL_DEPS])
-AC_LIB_LTDL
-
-AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
-AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
-dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o 
x"${enable_shared}" = xno)
 
 AC_PATH_PROG(DEJAGNU, runtest)
 
@@ -783,8 +750,8 @@ AC_ARG_ENABLE(sound,
 dnl --------------------------------------------------------
 dnl  Media handler selection
 dnl --------------------------------------------------------
-build_media_gst=yes
-build_media_ffmpeg=no
+build_media_gst=no
+build_media_ffmpeg=yes
 build_media_none=no
 AC_ARG_ENABLE(media,
   AC_HELP_STRING([--enable-media=handler],
@@ -1138,12 +1105,12 @@ dnl instead of the OGL (OpenGL) one.
 
 build_vaapi_device=no
 build_openmax_device=no
+build_directfb_device=no
+build_x11_device=no
 build_egl_device=yes
-build_directfb_device=yes
 build_rawfb_device=yes
-build_x11_device=yes
-device_list="X11 EGL DirectFB"
-ndevice=3
+device_list="EGL RawFB"
+ndevice=2
 AC_ARG_ENABLE(device,
   AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use 
to support to enable (none,openmax,egl,directfb,rawfb,x11,vaapi)]),
   if test -z ${enableval}; then
@@ -1396,6 +1363,39 @@ AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes 
])
 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
 
+dnl AC_MSG_CHECKING([For the version of libtool])
+dnl if test -d ${srcdir}/libltdl/libltdl; then
+dnl   ltver=2.x
+dnl else
+dnl   ltver=1.x
+dnl fi
+dnl ltmajor=`echo $ltver | cut -d '.' -f 1`
+dnl AC_MSG_RESULT([$ltver])
+ltmajor=0
+AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
+AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
+dnl if test $ltmajor -eq 1; then
+dnl   AC_LIBLTDL_CONVENIENCE
+dnl   AC_LIBTOOL_DLOPEN
+dnl   if test x"${windows}" = x"yes"; then
+dnl     dnl The following macro may be empty; the colon is necessary
+dnl     dnl in this case to avoid an empty if statement (which is a syntax 
error).
+dnl     AC_LIBTOOL_WIN32_DLL
+dnl     :
+dnl   fi
+dnl   AC_DISABLE_STATIC
+dnl else
+dnl   LT_INIT([dlopen win32-dll disable-static])
+dnl   LTDL_INIT([convenience recursive])
+dnl fi
+dnl AC_LIB_LTDL
+AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
+AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
+
+AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
+AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
+dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o 
x"${enable_shared}" = xno)
+
 GNASH_PKG_CLASSFILE
 
 dnl --------------------------------------------------------
@@ -2451,7 +2451,7 @@ if test x"${build_rawfb_device}" = xyes -a x"${linux}" = 
xyes; then
 fi
 
 if test x"${build_directfb_device}" = xyes; then
-   GNASH_PKG_FIND(directfb, [directfb/directfb.h], [DirectFB render library], 
DirectFBCreate)
+   GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library], 
DirectFBCreate)
    AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
 fi
 
@@ -2467,7 +2467,7 @@ AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test 
x${build_rawfb_device} = xyes])
 AM_CONDITIONAL(BUILD_X11_DEVICE, [test x$build_x11_device = xyes])
 
 if test x"${build_ovg}" = xyes; then
-  GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
+  GNASH_PATH_OPENVG
 fi
 
 if test x"${build_ogl}" = xyes; then
@@ -3179,6 +3179,24 @@ else
   echo "                     or .rpm users: yum install libpng-devel" >&5
 fi
 
+if test x"${build_ovg}" = x"yes"; then
+  if test x"$OPENVG_LIBS" != x; then
+    if test x"$OPENVG_CFLAGS" != x; then
+      echo "        OpenVG flags are: $OPENVG_CFLAGS"
+    else
+      echo "        OpenVG flags are: default include path"
+    fi
+    echo "        OpenVG libs are: $OPENVG_LIBS"
+    else
+      echo "        ERROR: No OpenVG development package installed!" >&3
+      echo "               You need to install the libmesa development 
package" >&3
+      echo "               or .deb users: apt-get install libopenvg1-mesa-dev" 
>&3
+      echo "               or .rpm users: yum install 
mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
+      echo "               or use a different renderer with 
--enable-renderer=" >&3
+  fi
+fi
+
+
 if test x"${build_ogl}" = x"yes"; then
   if test x"$OPENGL_LIBS" != x; then
     if test x"$OPENGL_CFLAGS" != x; then

http://git.savannah.gnu.org/cgit//commit/?id=a75d7fc286879179d2ee8a7e20146cb2cfba6836


commit a75d7fc286879179d2ee8a7e20146cb2cfba6836
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 18:38:17 2010 -0700

    move openvg to it's own test, it now handles multiple OpenVG versions.

diff --git a/macros/openvg.m4 b/macros/openvg.m4
new file mode 100644
index 0000000..f3f8327
--- /dev/null
+++ b/macros/openvg.m4
@@ -0,0 +1,115 @@
+dnl  
+dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 
Inc.
+dnl  
+dnl  This program is free software; you can redistribute it and/or modify
+dnl  it under the terms of the GNU General Public License as published by
+dnl  the Free Software Foundation; either version 3 of the License, or
+dnl  (at your option) any later version.
+dnl  
+dnl  This program is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl  GNU General Public License for more details.
+dnl  You should have received a copy of the GNU General Public License
+dnl  along with this program; if not, write to the Free Software
+dnl  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+AC_DEFUN([GNASH_PATH_OPENVG],
+[
+  mesavg=no
+  dnl Look for the headers.
+  AC_ARG_WITH(openvg_includes, AC_HELP_STRING([--with-openvg-includes], 
[directory where Openvg headers are]), with_openvg_includes=${withval})
+  AC_CACHE_VAL(ac_cv_path_openvg_includes,[
+    if test x"${with_openvg_includes}" != x; then
+      if test -f ${with_openvg_includes}/openvg.h; then
+        ac_cv_path_openvg_includes="`(cd ${with_openvg_includes}; pwd)`"
+      else
+        AC_MSG_ERROR([${with_openvg_includes} directory doesn't contain 
VG/openvg.h])
+      fi
+    fi
+  ])
+
+  dnl If the include path hasn't been specified, go look for it.
+  if test x"${ac_cv_path_openvg_includes}" = x; then
+    AC_MSG_CHECKING([for Openvg headers])
+    for i in $incllist; do
+      if test -f $i/VG/openvg.h; then
+      dnl We have the libMesa version of OpenVG 1.0.1
+        if test -f $i/VG/vgext.h; then
+           mesavg=yes
+        fi
+        if test x"$i" != x"/usr/include"; then
+          ac_cv_path_openvg_includes="-I$i"
+          break
+        else
+          ac_cv_path_openvg_includes="default"
+          break
+        fi
+      fi
+    done
+  fi
+
+  if test x"${ac_cv_path_openvg_includes}" = x; then
+    AC_CHECK_HEADERS([VG/open.h], [ac_cv_path_openvg_includes=""])
+  fi
+
+  if test x"${ac_cv_path_openvg_includes}" != x -a 
x"${ac_cv_path_openvg_includes}" != x"default"; then
+    if test x$mesavg = xyes; then
+      OPENVG_CFLAGS="${ac_cv_path_openvg_includes}"
+      AC_DEFINE(HAVE_VG_VGEXT_H, 1, [Have LibMESA OpenVG])
+    else
+      OPENVG_CFLAGS="-DOPENVG_STATIC_LIBRARY ${ac_cv_path_openvg_includes}"
+      AC_DEFINE(HAVE_VG_EXT_H, 1, [Have Freescale OpenVG])
+    fi
+  else
+    if test x$mesavg = xyes; then
+      OPENVG_CFLAGS=""
+    else
+      OPENVG_CFLAGS="-DOPENVG_STATIC_LIBRARY"
+    fi
+  fi
+  AC_MSG_RESULT(${ac_cv_path_openvg_includes})
+
+  dnl Look for the libraries.
+  AC_ARG_WITH(openvg_lib, AC_HELP_STRING([--with-openvg-lib], [directory where 
Openvg libraries are]), with_openvg_lib=${withval})
+  AC_CACHE_VAL(ac_cv_path_openvg_lib,[
+    if test x"${with_openvg_lib}" != x ; then
+      if test -f ${with_openvg_lib}/libOpenVG.a -o -f 
${with_openvg_lib}/libOpenVG.${shlibext}; then
+        ac_cv_path_openvg_lib="-L`(cd ${with_openvg_lib}; pwd)` -lOpenVG"
+      fi
+    fi
+  ])
+
+  if test x"${ac_cv_path_openvg_lib}" = x; then
+    for i in $libslist; do
+      if test -f $i/libOpenVG.${shlibext} -o -f $i/libOpenVG.a; then
+        if test ! x"$i" = x"/usr/lib" -a ! x"$i" = x"/usr/lib64"; then
+          ac_cv_path_openvg_lib="-L$i -lOpenVG"
+          break
+       else
+          ac_cv_path_openvg_lib="-lOpenVG"
+          break
+       fi
+      fi
+    done
+  fi
+  if test x"${ac_cv_path_openvg_lib}" = x; then
+    AC_CHECK_LIB([OpenVG], [vgClear], [ac_cv_path_openvg_lib="-lOpenVG"])
+  fi
+
+  if test x"${ac_cv_path_openvg_lib}" != x ; then
+    OPENVG_LIBS="${ac_cv_path_openvg_lib}"
+    has_openvg="yes"
+  else
+    OPENVG_LIBS=""
+  fi
+  
+  AC_SUBST(OPENVG_CFLAGS)
+  AC_SUBST(OPENVG_LIBS)
+])
+
+# Local Variables:
+# c-basic-offset: 2
+# tab-width: 2
+# indent-tabs-mode: nil
+# End:

http://git.savannah.gnu.org/cgit//commit/?id=62c37fd569b0f19a4466c09afbfca286aca36452


commit 62c37fd569b0f19a4466c09afbfca286aca36452
Author: Rob Savoye <address@hidden>
Date:   Wed Dec 15 16:07:56 2010 -0700

    hack on the attributes to get it working with a 16bit depth on real HW with 
no X11

diff --git a/libdevice/egl/eglDevice.cpp b/libdevice/egl/eglDevice.cpp
index a00f63b..46721f0 100644
--- a/libdevice/egl/eglDevice.cpp
+++ b/libdevice/egl/eglDevice.cpp
@@ -27,13 +27,7 @@
 #include "log.h"
 // #include "RunResources.h"
 #include "Renderer.h"
-#include "openvg/Renderer_ovg.h"
 #include "GnashException.h"
-#ifdef HAVE_GTK2
-#include "gdk/gdkx.h"
-#include "X11/Xlib.h"
-#include "X11/Xutil.h"
-#endif
 
 #ifdef HAVE_EGL_EGL_H
 # include <EGL/egl.h>
@@ -55,18 +49,18 @@ static const EGLint attrib32_list[] = {
     EGL_BLUE_SIZE,      8,
 //  EGL_ALPHA_SIZE,     0,
 //  EGL_DEPTH_SIZE,     24,
-#ifdef RENDERER_GLES1
-    EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
-#endif
-#ifdef RENDERER_GLES2
-    EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
-#endif
+// #ifdef RENDERER_GLES1
+//     EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
+// #endif
+// #ifdef RENDERER_GLES2
+//     EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+// #endif
 #ifdef RENDERER_OPENVG
-    EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
+     EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
 //    EGL_STENCIL_SIZE,   8,
 #endif
-    EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT|EGL_OPENGL_ES_BIT|EGL_OPENGL_ES2_BIT,
-    EGL_SURFACE_TYPE,   EGL_WINDOW_BIT|EGL_PBUFFER_BIT|EGL_PIXMAP_BIT,
+//    EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT|EGL_OPENGL_ES_BIT|EGL_OPENGL_ES2_BIT,
+//    EGL_SURFACE_TYPE,   EGL_WINDOW_BIT|EGL_PBUFFER_BIT|EGL_PIXMAP_BIT,
 //    EGL_SAMPLE_BUFFERS, 1,
 // FIXME: Single Buffering appears not to work on X11, you get no visual.
 //    EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER,
@@ -78,19 +72,19 @@ static EGLint const attrib16_list[] = {
     EGL_GREEN_SIZE,     6,
     EGL_BLUE_SIZE,      5,
     EGL_ALPHA_SIZE,     0,
-#ifdef RENDERER_GLES1
-    EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
-#endif
-#ifdef RENDERER_GLES2
-    EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
-#endif
+// #ifdef RENDERER_GLES1
+//     EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
+// #endif
+// #ifdef RENDERER_GLES2
+//     EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+// #endif
+    EGL_LUMINANCE_SIZE,     EGL_DONT_CARE,
+    EGL_SURFACE_TYPE,       EGL_VG_COLORSPACE_LINEAR_BIT,
+    EGL_SAMPLES,            0,
 #ifdef RENDERER_OPENVG
-    EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT,
-    EGL_DEPTH_SIZE,     16,
-    EGL_STENCIL_SIZE,   0,
+    EGL_RENDERABLE_TYPE, EGL_WINDOW_BIT|EGL_PBUFFER_BIT|EGL_PIXMAP_BIT,
+//    EGL_DEPTH_SIZE,     16,
 #endif
-    EGL_SURFACE_TYPE,   EGL_WINDOW_BIT,
-    EGL_SAMPLE_BUFFERS, 0,
     EGL_NONE
 };
 
@@ -193,6 +187,8 @@ EGLDevice::EGLDevice(GnashDevice::rtype_t rtype)
       _bpp(32)
 {
     GNASH_REPORT_FUNCTION;
+    dbglogfile.setVerbosity();
+    
     if (!initDevice(0, 0)) {
         log_error("Couldn't initialize EGL device!");
     }
@@ -249,21 +245,21 @@ EGLDevice::initDevice(int argc, char *argv[])
     
     GNASH_REPORT_FUNCTION;
     
-    EGLint major, minor;
     // see egl_config.c for a list of supported configs, this looks for
     // a 5650 (rgba) config, supporting OpenGL ES and windowed surfaces
 
     // step 1 - get an EGL display
 
     // This can be called multiple times, and always returns the same display
+//    _eglDisplay = eglGetDisplay(XOpenDisplay(0)/* EGL_DEFAULT_DISPLAY */);
     _eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
     if (EGL_NO_DISPLAY == _eglDisplay) {
-        log_error( "eglGetDisplay() failed (error 0x%x)", eglGetError() );
+        log_error( "eglGetDisplay() failed (error 0x%x)", eglGetError());
         return false;
     }
     
     // This can be called multiple times safely
-    if (EGL_FALSE == eglInitialize(_eglDisplay, &major, &minor)) {
+    if (EGL_FALSE == eglInitialize(_eglDisplay, 0, 0)) {
         log_error( "eglInitialize() failed (error %s)",
                    getErrorString(eglGetError()));
         return false;
@@ -276,20 +272,20 @@ EGLDevice::initDevice(int argc, char *argv[])
 
     // step2 - bind to the wanted client API
     /// This is done by bindClient() later on
-    // bindClient(GnashDevice::OPENVG);
+    //bindClient(GnashDevice::OPENVG);
     
     // step3 - find a suitable config
     if (_bpp == 32) {
-        if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib32_list, 
&_eglConfig,
+        if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib16_list, 
&_eglConfig,
                                           1, &_eglNumOfConfigs)) {
-            log_error("eglChooseConfig() failed (error %s)", 
+            log_error("eglChooseConfig(32) failed (error %s)", 
                        getErrorString(eglGetError()));
             return false;
         }
     } else if (_bpp == 16) {
         if (EGL_FALSE == eglChooseConfig(_eglDisplay, attrib16_list, 
&_eglConfig,
                                          1, &_eglNumOfConfigs)) {
-            log_error("eglChooseConfig() failed (error %s)",
+            log_error("eglChooseConfig(16) failed (error %s)",
                        getErrorString(eglGetError()));
             return false;
         }
@@ -301,29 +297,16 @@ EGLDevice::initDevice(int argc, char *argv[])
         log_error("eglChooseConfig() was unable to find a suitable config");
         return false;
     }
-
-#ifdef BUILD_X11_DEVICE
-#endif
     
-    // printEGLConfig(_eglConfig);
-#if 0
    if (!checkEGLConfig(_eglConfig)) {
        log_error("EGL configuration doesn't match!");
-//       return false;
+       return false;
    } else {
-       //printEGLConfig(_eglConfig);
+       printEGLConfig(_eglConfig);
    }
-#endif
-
-#if 0
-#if 0
-    eglSwapInterval(_eglDisplay, 0);
-#else
-    eglSwapBuffers(_eglDisplay, _eglSurface);
-#endif
     
-//    log_debug("Gnash EGL Frame width %d height %d bpp %d \n", _width, 
_height, _bpp);
-#endif
+   // log_debug("Gnash EGL Frame width %d height %d bpp %d \n",
+   //           _width, _height, _bpp);
     
     return true;
 }
@@ -356,9 +339,9 @@ EGLDevice::getNativeVisual()
         if (!eglGetConfigAttrib(_eglDisplay, _eglConfig, EGL_NATIVE_VISUAL_ID, 
&vid)) {
             log_error("eglGetConfigAttrib() failed (error %s)",
                       getErrorString(eglGetError()));
-            return false;
+            return 0;
         } else {
-            std::cerr << "EGL native visual is: " << vid << std::endl;
+            log_debug("EGL native visual is: %d", vid);
         }
     }
 
@@ -414,18 +397,19 @@ EGLDevice::bindClient(rtype_t rtype)
 bool
 EGLDevice::attachWindow(GnashDevice::native_window_t window)
 {
+    GNASH_REPORT_FUNCTION;
+    
     if (!window) {
         return false;
     } else {
         _nativeWindow = static_cast<EGLNativeWindowType>(window);
     }
 
+#if 1
     log_debug("Initializing EGL Surface");
-    if (_nativeWindow && _eglDisplay && _eglConfig) {
+    if (_eglDisplay && _eglConfig) {
         _eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig,
-                                             _nativeWindow, NULL);
-    } else {
-        log_error("No native window!");
+                                             window, NULL);
     }
     
     if (EGL_NO_SURFACE == _eglSurface) {
@@ -434,7 +418,8 @@ EGLDevice::attachWindow(GnashDevice::native_window_t window)
     } else {
         printEGLSurface(_eglSurface);
     }
-
+#endif
+    
     // step5 - create a context
     _eglContext = eglCreateContext(_eglDisplay, _eglConfig, EGL_NO_CONTEXT, 
NULL);
     if (EGL_NO_CONTEXT == _eglContext) {
@@ -513,7 +498,7 @@ EGLDevice::checkEGLConfig(EGLConfig config)
             return false;
         }
         eglGetConfigAttrib(_eglDisplay, config, EGL_ALPHA_SIZE, &value);
-        if (8 != value) {
+        if (0 != value) {
             return false;
         }
         eglGetConfigAttrib(_eglDisplay, config, EGL_SAMPLES, &value);
@@ -587,7 +572,7 @@ EGLDevice::queryEGLConfig(EGLDisplay display)
          return 0;
      }
      
-#if 0
+#if 1
      // This prints out all the configurations, so it can be quite large
      for (int i=0; i<max_num_config; i++ ) {
          std::cerr << "Config[" << i << "] is:" << i << std::endl;
diff --git a/libdevice/egl/test_egl.cpp b/libdevice/egl/test_egl.cpp
index de582e8..d69d406 100644
--- a/libdevice/egl/test_egl.cpp
+++ b/libdevice/egl/test_egl.cpp
@@ -213,7 +213,9 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int 
argc, char *argv[])
     } else {
         runtest.untested("EGLDevice::getHeigth()");
     }
-    
+
+#if 0
+    // these are the same as width and height
     if (hwinit) {
         if (egl.getVerticalRes()) {
             runtest.pass("EGLDevice::getVerticalRes()");
@@ -223,6 +225,7 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int 
argc, char *argv[])
     } else {
         runtest.untested("EGLDevice::getVerticalRes()");
     }
+
     
     if (hwinit) {
         if (egl.getHorzRes()) {
@@ -233,7 +236,8 @@ test_egl(EGLDevice &egl, GnashDevice::rtype_t rtype, int 
argc, char *argv[])
     } else {
         runtest.untested("EGLDevice::getHorzRes()");
     }
-
+#endif
+    
     if (hwinit) {
         if (egl.isSingleBuffered() != egl.isBackBuffered()) {
             runtest.pass("EGLDevice::is*Buffered()");

-----------------------------------------------------------------------

Summary of changes:
 configure.ac                      |  106 ++++++++++++---------
 libbase/GnashImagePng.cpp         |    4 +
 libbase/Makefile.am               |   21 ++--
 libdevice/egl/eglDevice.cpp       |  103 +++++++++-----------
 libdevice/egl/test_egl.cpp        |    8 +-
 librender/openvg/Renderer_ovg.cpp |   45 ++++++----
 librender/openvg/Renderer_ovg.h   |   15 ++-
 librender/testr.cpp               |  113 ++++++++--------------
 librender/testr_gtk.cpp           |  192 ++++++++-----------------------------
 macros/openvg.m4                  |  115 ++++++++++++++++++++++
 10 files changed, 361 insertions(+), 361 deletions(-)
 create mode 100644 macros/openvg.m4


hooks/post-receive
-- 
Gnash



reply via email to

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