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: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/button_character_instanc...
Date: Sun, 29 Apr 2007 14:08:44 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/04/29 14:08:44

Modified files:
        .              : ChangeLog 
        server         : button_character_instance.cpp 
                         button_character_instance.h 

Log message:
                * server/button_character_instance.{cpp,h}: implement 
pointInShape().

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3032&r2=1.3033
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.h?cvsroot=gnash&r1=1.19&r2=1.20

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3032
retrieving revision 1.3033
diff -u -b -r1.3032 -r1.3033
--- ChangeLog   28 Apr 2007 17:05:53 -0000      1.3032
+++ ChangeLog   29 Apr 2007 14:08:44 -0000      1.3033
@@ -1,3 +1,7 @@
+2007-04-29 Sandro Santilli <address@hidden>
+
+       * server/button_character_instance.{cpp,h}: implement pointInShape().
+
 2007-04-28 Sandro Santilli <address@hidden>
 
        * server/vm/ASHandlers.cpp (ActionWith): skip with() blocks

Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- server/button_character_instance.cpp        26 Apr 2007 10:56:50 -0000      
1.45
+++ server/button_character_instance.cpp        29 Apr 2007 14:08:44 -0000      
1.46
@@ -804,12 +804,36 @@
                    || (m_mouse_state == DOWN && rec.m_down)
                    || (m_mouse_state == OVER && rec.m_over))
                {
+                       // TODO: should we consider having multiple characters
+                       //       for a single state ?
                        return m_record_character[i]->getBounds();
                }
        }
        return geometry::Range2d<float>(geometry::nullRange);
 }
 
+bool
+button_character_instance::pointInShape(float x, float y) const
+{
+       for (unsigned int i = 0; i < m_def->m_button_records.size(); i++)
+       {
+               button_record&  rec = m_def->m_button_records[i];
+               if (m_record_character[i] == NULL)
+               {
+                       continue;
+               }
+               if ((m_mouse_state == UP && rec.m_up)
+                   || (m_mouse_state == DOWN && rec.m_down)
+                   || (m_mouse_state == OVER && rec.m_over))
+               {
+                       // TODO: should we consider having multiple characters
+                       //       for a single state ?
+                       return m_record_character[i]->pointInShape(x, y);
+               }
+       }
+       return false; // no shape
+}
+
 character*
 button_character_instance::get_relative_target(const std::string& name)
 {

Index: server/button_character_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- server/button_character_instance.h  12 Apr 2007 11:35:30 -0000      1.19
+++ server/button_character_instance.h  29 Apr 2007 14:08:44 -0000      1.20
@@ -20,7 +20,7 @@
 
 // SWF buttons.  Mouse-sensitive update/display, actions, etc.
 
-/* $Id: button_character_instance.h,v 1.19 2007/04/12 11:35:30 strk Exp $ */
+/* $Id: button_character_instance.h,v 1.20 2007/04/29 14:08:44 strk Exp $ */
 
 #ifndef GNASH_BUTTON_CHARACTER_INSTANCE_H
 #define GNASH_BUTTON_CHARACTER_INSTANCE_H
@@ -136,6 +136,9 @@
        
        geometry::Range2d<float> getBounds() const;
        
+       // See dox in character.h
+       bool pointInShape(float x, float y) const;
+
        static as_value enabled_getset(const fn_call& fn);
        
        bool get_enabled();




reply via email to

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