summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libflash/button.h
Side-by-side diff
Diffstat (limited to 'core/multimedia/opieplayer/libflash/button.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libflash/button.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libflash/button.h b/core/multimedia/opieplayer/libflash/button.h
new file mode 100644
index 0000000..75781b2
--- a/dev/null
+++ b/core/multimedia/opieplayer/libflash/button.h
@@ -0,0 +1,88 @@
+/////////////////////////////////////////////////////////////
+// Flash Plugin and Player
+// Copyright (C) 1998 Olivier Debon
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+///////////////////////////////////////////////////////////////
+#ifndef _BUTTON_H_
+#define _BUTTON_H_
+
+struct ButtonRecord {
+ ButtonState state;
+ Character *character;
+ long layer;
+ Matrix buttonMatrix;
+ Cxform *cxform;
+
+ struct ButtonRecord *next;
+};
+
+struct Condition {
+ long transition;
+ ActionRecord *actions;
+
+ Condition *next;
+};
+
+class Button : public Character {
+public:
+ long defLevel;
+
+ ButtonRecord *buttonRecords;
+ ActionRecord *actionRecords;
+ Condition *conditionList;
+
+ long isMenu;
+
+ Sound *sound[4];
+
+ Button(long id, int level = 1);
+ ~Button();
+ void addActionRecord( ActionRecord *ar );
+ void addButtonRecord( ButtonRecord *br );
+ void addCondition( long transition );
+ int execute(GraphicDevice *gd, Matrix *matrix,
+ Cxform *cxform, ButtonState renderState);
+ ActionRecord *getActionFromTransition(ButtonState currentState,
+ ButtonState old);
+ void getRegion(GraphicDevice *gd, Matrix *matrix,
+ void *id, ScanLineFunc scan_line_func);
+ ButtonRecord *getButtonRecords();
+ void setButtonSound(Sound *, int);
+ void setButtonMenu(int);
+
+ ActionRecord *getActionRecords();
+ Condition *getConditionList();
+ Sound **getSounds();
+
+ void getBoundingBox(Rect *bb, DisplayListEntry *);
+
+ void updateButtonState(DisplayListEntry *);
+ Character *getRenderCharacter(ButtonState state);
+
+ // Builtin
+ int isButton() {
+ return 1;
+ };
+
+#ifdef DUMP
+ void dump(BitStream *);
+ void dumpButtonRecords(BitStream *, int putCxform = 0);
+ void dumpButtonConditions(BitStream *);
+#endif
+};
+
+#endif /* _BUTTON_H_ */