1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef SkDisplayEvent_DEFINED 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define SkDisplayEvent_DEFINED 128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkDisplayable.h" 148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkMemberInfo.h" 158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkIntArray.h" 168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkKey.h" 178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkEvent; 198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comclass SkDisplayEvent : public SkDisplayable { 218a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com DECLARE_DISPLAY_MEMBER_INFO(Event); 228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com enum Kind { 238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kNo_kind, 248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kKeyChar, 258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kKeyPress, 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kKeyPressUp, //i assume the order here is intended to match with skanimatorscript.cpp 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kMouseDown, 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kMouseDrag, 298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kMouseMove, 308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kMouseUp, 318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kOnEnd, 328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kOnload, 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com kUser 348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com }; 358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkDisplayEvent(); 368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual ~SkDisplayEvent(); 3736352bf5e38f45a70ee4f4fc132a38048d38206dmtklein bool addChild(SkAnimateMaker& , SkDisplayable* child) override; 3836352bf5e38f45a70ee4f4fc132a38048d38206dmtklein bool contains(SkDisplayable*) override; 3936352bf5e38f45a70ee4f4fc132a38048d38206dmtklein SkDisplayable* contains(const SkString& ) override; 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifdef SK_DEBUG 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com void dumpEvent(SkAnimateMaker* ); 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com bool enableEvent(SkAnimateMaker& ); 4436352bf5e38f45a70ee4f4fc132a38048d38206dmtklein bool getProperty(int index, SkScriptValue* ) const override; 4536352bf5e38f45a70ee4f4fc132a38048d38206dmtklein void onEndElement(SkAnimateMaker& maker) override; 468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com void populateInput(SkAnimateMaker& , const SkEvent& fEvent); 4736352bf5e38f45a70ee4f4fc132a38048d38206dmtklein bool setProperty(int index, SkScriptValue& ) override; 488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkKey code; 508a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkBool disable; 518a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com Kind kind; 528a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkString target; 538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkScalar x; 548a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkScalar y; 558a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDDisplayableArray fChildren; 568a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com mutable SkString fKeyString; 578a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkKey fLastCode; // last key to trigger this event 588a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkKey fMax; // if the code expresses a range 598a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkDisplayable* fTarget; // used by onEnd 608a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 618a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com void deleteMembers(); 628a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com friend class SkEvents; 638a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com typedef SkDisplayable INHERITED; 648a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 658a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 668a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif // SkDisplayEvent_DEFINED 67