[gtkada] testgtk/opengl/lw.c code incompatible with supplied graphics file

Pascal p.p14 at orange.fr
Sun Sep 11 13:13:58 CEST 2016


Hello Roger,

I did work :-)
This sounds like a little bell to me, thus I find out very old patches from GTKAda 2.24.2 and 3.4.2 :

*** ./testgtk/Makefile.0	2011-07-24 08:50:35.000000000 +0200
--- ./testgtk/Makefile	2011-07-24 08:58:27.000000000 +0200
***************
*** 21,26 ****
--- 21,27 ----
  
  ifeq ($(HAVE_OPENGL),True)
  OPENGL_C_OBJECTS=lw.o
+ OPENGL_FLAGS     = -I/usr/X11/include
  OPENGL_LIBS= -L/usr/X11/lib -lGLU -lGL
  GTKADA_GL_LIBS=-lgtkada_gl
  else
***************
*** 42,48 ****
  	  opengl/view_gl.gpb opengl/view_gl.adb
  
  lw.o: opengl/lw.c opengl/lw.h
! 	$(CC) -c opengl/lw.c -Iopengl -D_REENTRANT -I/usr/local/gtk-2011/include/gtk-2.0 -I/usr/local/gtk-2011/lib/gtk-2.0/include -I/usr/local/gtk-2011/include/atk-1.0 -I/usr/local/gtk-2011/include/cairo -I/usr/local/gtk-2011/include/gdk-pixbuf-2.0 -I/usr/local/gtk-2011/include/pango-1.0 -I/usr/local/gtk-2011/include/glib-2.0 -I/usr/local/gtk-2011/lib/glib-2.0/include -I/usr/local/gtk-2011/include/libpng12 -I/usr/local/gtk-2011/include/freetype2 -I/usr/local/gtk-2011/include  
  
  install: force
  	$(MKDIR) $(examples)
--- 43,49 ----
  	  opengl/view_gl.gpb opengl/view_gl.adb
  
  lw.o: opengl/lw.c opengl/lw.h
! 	$(CC) -c opengl/lw.c $(OPENGL_FLAGS) -Iopengl -D_REENTRANT -I/usr/local/gtk-2011/include/gtk-2.0 -I/usr/local/gtk-2011/lib/gtk-2.0/include -I/usr/local/gtk-2011/include/atk-1.0 -I/usr/local/gtk-2011/include/cairo -I/usr/local/gtk-2011/include/gdk-pixbuf-2.0 -I/usr/local/gtk-2011/include/pango-1.0 -I/usr/local/gtk-2011/include/glib-2.0 -I/usr/local/gtk-2011/lib/glib-2.0/include -I/usr/local/gtk-2011/include/libpng12 -I/usr/local/gtk-2011/include/freetype2 -I/usr/local/gtk-2011/include  
  
  install: force
  	$(MKDIR) $(examples)

--- ./testgtk/opengl/view_gl.gpb.0	2013-04-29 14:59:10.000000000 +0200
+++ ./testgtk/opengl/view_gl.gpb	2013-08-10 17:56:18.000000000 +0200
@@ -95,9 +95,9 @@
    begin
       --  Draw only the last expose event
 
-      if Get_Count (Event) > 0 then
-         return True;
-      end if;
+--       if Get_Count (Event) > 0 then
+--          return True;
+--       end if;
 
       --  OpenGL calls can be done only if make_current returns true
 
@@ -181,8 +181,8 @@
       --  automatically by GtkAda
    begin
       if Get_Button (Event) = 1 then
-         Area.Mesh_Info.Beginx := Float (Get_X (Event));
-         Area.Mesh_Info.Beginy := Float (Get_Y (Event));
+--         Area.Mesh_Info.Beginx := Float (Get_X (Event));
+--         Area.Mesh_Info.Beginy := Float (Get_Y (Event));
          return True;
       end if;
       return False;
@@ -199,18 +199,18 @@
       --  Event is an Gdk_Event_Motion, but no need to cast, this is tested
       --  automatically by GtkAda
       X, Y : Gint;
-      Win  : Gdk_Window;
+      Win  : GDK.Gdk_Window;
       State : Gdk_Modifier_Type;
       Rect  : Gdk_Rectangle;
 
    begin
-      if Get_Is_Hint (Event) then
+--      if Get_Is_Hint (Event) then
          Get_Pointer (Get_Window (Event), X, Y, State, Win);
-      else
-         X := Gint (Get_X (Event));
-         Y := Gint (Get_Y (Event));
-         State := Get_State (Event);
-      end if;
+--      else
+--         X := Gint (Get_X (Event));
+--         Y := Gint (Get_Y (Event));
+--         State := Get_State (Event);
+--      end if;
       Rect.X := 0;
       Rect.Y := 0;
       Rect.Width  := Get_Allocated_Width (Area);


Let have a try ;-)

HTH, Pascal.
http://blady.pagesperso-orange.fr


> Le 11 sept. 2016 à 02:43, Roger Mc Murtrie <rogermc at grapevine.com.au> a écrit :
> 
> OSX 10.11.6
> Xcode 7.3.1
> lw.c code appears incompatible with the supplied graphics file, penguin.lwo as
> the penguin.lwo file format is LWO2 whereas the lw.c parser is for LWOB.
> I have adapted a parser from the Lightwaves SDK to generate an lwObject for the LWO2 format and
> am currently attempting to write a show function to process my LWO2 lwObject.
> If I ever succeed with this I hope to then reprogram the whole thing in Ada.
> Roger
> _______________________________________________
> gtkada mailing list
> gtkada at lists.adacore.com
> http://lists.adacore.com/mailman/listinfo/gtkada



More information about the gtkada mailing list