[Top][All Lists]
[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: |
Thu, 17 Jan 2008 11:09:58 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/01/17 11:09:58
Modified files:
. : ChangeLog
server : button_character_instance.cpp
button_character_instance.h
Log message:
drop the :advance() method, no more needed;
reduce ::display() to a few lines.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5422&r2=1.5423
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.h?cvsroot=gnash&r1=1.31&r2=1.32
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5422
retrieving revision 1.5423
diff -u -b -r1.5422 -r1.5423
--- ChangeLog 17 Jan 2008 08:56:56 -0000 1.5422
+++ ChangeLog 17 Jan 2008 11:09:57 -0000 1.5423
@@ -1,5 +1,10 @@
2008-01-17 Sandro Santilli <address@hidden>
+ * server/button_character_instance.{cpp,h}: drop the :advance()
+ method, no more needed; reduce ::display() to a few lines.
+
+2008-01-17 Sandro Santilli <address@hidden>
+
* server/button_character_instance.{cpp,h}: drop dead enum,
add HIT state to e_mouse_state enum, rework
get_topmost_mouse_entity to use pointInVisibleShape and
Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- server/button_character_instance.cpp 17 Jan 2008 09:53:31 -0000
1.73
+++ server/button_character_instance.cpp 17 Jan 2008 11:09:57 -0000
1.74
@@ -171,6 +171,11 @@
typedef button_character_instance Button;
typedef boost::intrusive_ptr<Button> ButtonPtr;
+static bool charDepthLessThen(const character* ch1, const character* ch2)
+{
+ return ch1->get_depth() < ch2->get_depth();
+}
+
static void
attachButtonInterface(as_object& o)
{
@@ -368,67 +373,15 @@
}
void
-button_character_instance::advance()
-{
-// printf("%s:\n", __PRETTY_FUNCTION__); // FIXME:
-
- matrix mat = get_world_matrix();
-
- // Advance our relevant characters.
- {for (size_t i = 0; i < m_def->m_button_records.size(); i++)
- {
- button_record& rec = m_def->m_button_records[i];
- assert(m_record_character.size() > i);
- if (m_record_character[i] == NULL)
- {
- continue;
- }
-
- // Matrix
- matrix sub_matrix = mat;
- sub_matrix.concatenate(rec.m_button_matrix);
-
- // Advance characters that are activated by the new mouse state
- if (((m_mouse_state == UP) && (rec.m_up)) ||
- ((m_mouse_state == DOWN) && (rec.m_down)) ||
- ((m_mouse_state == OVER) && (rec.m_over)))
- {
- m_record_character[i]->advance();
- }
- }}
-}
-
-
-void
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++)
- {
+ std::vector<character*> actChars;
+ get_active_characters(actChars);
+ std::sort(actChars.begin(), actChars.end(), charDepthLessThen);
- for (size_t i = 0; i < m_def->m_button_records.size(); i++)
- {
- button_record& rec = m_def->m_button_records[i];
- assert(m_record_character.size() > i);
- if (m_record_character[i] == NULL)
- {
- 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
+ std::for_each(actChars.begin(), actChars.end(),
std::mem_fun(&character::display));
clear_invalidated();
do_display_callback();
@@ -812,7 +765,7 @@
// Register this button instance as a live character
// do we need this???
- _vm.getRoot().addLiveChar(this);
+ //_vm.getRoot().addLiveChar(this);
size_t r, r_num = m_def->m_button_records.size();
m_record_character.resize(r_num);
Index: server/button_character_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- server/button_character_instance.h 17 Jan 2008 08:56:57 -0000 1.31
+++ server/button_character_instance.h 17 Jan 2008 11:09:58 -0000 1.32
@@ -21,7 +21,7 @@
// SWF buttons. Mouse-sensitive update/display, actions, etc.
-/* $Id: button_character_instance.h,v 1.31 2008/01/17 08:56:57 strk Exp $ */
+/* $Id: button_character_instance.h,v 1.32 2008/01/17 11:09:58 strk Exp $ */
#ifndef GNASH_BUTTON_CHARACTER_INSTANCE_H
#define GNASH_BUTTON_CHARACTER_INSTANCE_H
@@ -90,8 +90,6 @@
void restart();
- virtual void advance();
-
void display();
void set_current_state(e_mouse_state new_state);