gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/button_character_instanc...


From: Udo Giacomozzi
Subject: [Gnash-commit] gnash ChangeLog server/button_character_instanc...
Date: Sat, 04 Nov 2006 14:29:31 +0000

CVSROOT:        /cvsroot/gnash
Module name:    gnash
Changes by:     Udo Giacomozzi <udog>   06/11/04 14:29:31

Modified files:
        .              : ChangeLog 
        server         : button_character_instance.cpp 
        server/parser  : button_character_def.cpp button_character_def.h 

Log message:
        Corrected display order while drawing buttons

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1516&r2=1.1517
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/button_character_def.cpp?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/button_character_def.h?cvsroot=gnash&r1=1.7&r2=1.8

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.1516
retrieving revision 1.1517
diff -u -b -r1.1516 -r1.1517
--- ChangeLog   4 Nov 2006 13:40:18 -0000       1.1516
+++ ChangeLog   4 Nov 2006 14:29:30 -0000       1.1517
@@ -6,6 +6,10 @@
        m_no-select
        * server/edit_text_character.cpp: don't catch mouse events when
        text feld is not selectable
+       * server/button_character_instance.cpp,
+       server/parser/button_character_def.cpp,
+       server/parser/button_character_def.h: Character depths are now 
+       respected while drawing
 
 2006-11-04 Markus Gothe <address@hidden>
 

Index: server/button_character_instance.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/button_character_instance.cpp        4 Nov 2006 00:56:13 -0000       
1.12
+++ server/button_character_instance.cpp        4 Nov 2006 14:29:30 -0000       
1.13
@@ -298,6 +298,11 @@
 button_character_instance::display()
 {
 //                     GNASH_REPORT_FUNCTION;
+
+  // repeat for each layer to ensure correct depths
+  for (int layer=m_def->m_min_layer; layer<=m_def->m_max_layer; layer++) 
+  {   
+
        for (unsigned int i = 0; i < m_def->m_button_records.size(); i++)
        {
                button_record&  rec = m_def->m_button_records[i];
@@ -305,15 +310,19 @@
                {
                        continue;
                }
+               if (m_def->m_button_records[i].m_button_layer != layer)
+               {
+                       continue;
+               }
                if ((m_mouse_state == UP && rec.m_up)
                    || (m_mouse_state == DOWN && rec.m_down)
                    || (m_mouse_state == OVER && rec.m_over))
                {
                                matrix  mat = get_world_matrix();
-
                        m_record_character[i]->display();
                }
-       }
+       } // for button record
+  } // for layer
 
        clear_invalidated();
        do_display_callback();

Index: server/parser/button_character_def.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/parser/button_character_def.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- server/parser/button_character_def.cpp      4 Nov 2006 01:37:16 -0000       
1.6
+++ server/parser/button_character_def.cpp      4 Nov 2006 14:29:31 -0000       
1.7
@@ -104,7 +104,9 @@
 
 button_character_definition::button_character_definition()
        :
-       m_sound(NULL)
+       m_sound(NULL),
+       m_min_layer(0),
+       m_max_layer(0)
 
 // Constructor.
 {
@@ -277,6 +279,18 @@
                        }
                }
        }
+       
+       
+       // detect min/max layer number
+       m_min_layer=0;
+       m_max_layer=0;
+       for (unsigned int i=0; i<m_button_records.size(); i++)
+       {
+         int this_layer = m_button_records[i].m_button_layer;
+         
+         if ((i==0) || (this_layer < m_min_layer))  m_min_layer=this_layer;
+         if ((i==0) || (this_layer > m_max_layer))  m_max_layer=this_layer;    
  
+  }
 }
 
 

Index: server/parser/button_character_def.h
===================================================================
RCS file: /cvsroot/gnash/gnash/server/parser/button_character_def.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- server/parser/button_character_def.h        4 Nov 2006 01:37:16 -0000       
1.7
+++ server/parser/button_character_def.h        4 Nov 2006 14:29:31 -0000       
1.8
@@ -79,6 +79,12 @@
 {
 public:
 
+  /// Smallest layer number used for button records 
+  int m_min_layer;
+
+  /// Greatest layer number used for button records 
+  int m_max_layer;
+
        struct sound_info
        {
                void read(stream* in);




reply via email to

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