⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skl_event.h

📁 mpeg4编解码器
💻 H
字号:
/******************************************************** * Some code. Copyright (C) 2003 by Pascal Massimino.   * * All Rights Reserved.      (http://skal.planet-d.net) * * For Educational/Academic use ONLY. See 'LICENSE.TXT'.* ********************************************************//* * skl_event.h * * base class for event queue ********************************************************/#ifndef _SKL_EVENT_H_#define _SKL_EVENT_H_#include "skl.h"#include "skl_2d/skl_pt.h"//////////////////////////////////////////////////////////// SKL_EVENT//////////////////////////////////////////////////////////class SKL_EVENT{    SKL_DEL_OP(SKL_EVENT)  public:    typedef int (*EVENT_HANDLER)(SKL_EVENT *);    typedef enum {      NO_EVENT   = 0x00,      CLICK1     = 0x01,      CLICK2     = 0x02,      CLICK3     = 0x04,      MOVE       = 0x08,      RELEASE1   = 0x10,      RELEASE2   = 0x20,      RELEASE3   = 0x40,      KEY_PRESS  = 0x80,      CLICK      = (0x01|0x02|0x04),      RELEASE    = (0x10|0x20|0x40),      HAS_DATA   = 0x100    } EVENT_TYPE;    typedef enum {      NO_MODIFIER    = 0x00,      ALT_MODIFIER   = 0x01,      CTRL_MODIFIER  = 0x02,      SHIFT_MODIFIER = 0x04,      UP_MODIFIER    = 0x08,      DOWN_MODIFIER  = 0x10,      LEFT_MODIFIER  = 0x20,      RIGHT_MODIFIER = 0x40    } MODIFIER;    typedef enum {      ESCAPE=0xff,       F1=0xfe, F2=0xfd, F3=0xfc, F4=0xfb,      F5=0xfa, F6=0xf9, F7=0xf8, F8=0xf7,      F9=0xf6,F10=0xf5,F11=0xf4,F12=0xf3    } SPECIAL_KEYS;  protected:    int       _Type;    int       _Key, _Modifier;    SKL_2D_PT _Pos;    SKL_ANY   _Data;  public:    SKL_EVENT() : _Type(NO_EVENT), _Modifier(NO_MODIFIER) {}    ~SKL_EVENT() {}    void Reset()                             { _Type=NO_EVENT; _Modifier=0; _Key=0; }    int Get_Type() const                     { return _Type; }    int Has_Type(EVENT_TYPE Type) const      { return ((_Type&Type)!=0); }    int Is_Empty() const                     { return (_Type==NO_EVENT); }    void Set_Type(EVENT_TYPE Type)           { _Type = Type; }    void Add_Type(EVENT_TYPE Type)           { _Type |= Type; }    void Add_Types(int Types)                { _Type |= Types; }    void Remove_Type(EVENT_TYPE Type)        { _Type &= ~Type; }    void Set_Data( SKL_ANY Data )            { Add_Type(HAS_DATA); _Data = Data; }    SKL_ANY Get_Data() const                 { return _Data; }    void Set_Key(int Key)                    { Add_Type(KEY_PRESS); _Key = Key; }    int Get_Key() const                      { return _Key; }    void Add_Modifier(int Modifier)          { _Modifier |= Modifier; }    int Get_Modifier() const                 { return _Modifier; }    int Is_Modified_By(int Modifier) const   { return ((_Modifier&Modifier)!=0); }    void Set_Position(int x, int y)          { _Pos = SKL_2D_PT(x,y); } /* no Type set here.. */    SKL_2D_PT Get_Position() const           { return _Pos; }    SKL_2D_PT &Get_Position()                { return _Pos; }    void Get_Position(int &x, int &y) const  { x = _Pos.x; y = _Pos.y; }    int Get_x() const                        { return _Pos.x; }    int Get_y() const                        { return _Pos.y; }};//////////////////////////////////////////////////////////#endif  /* _SKL_EVENT_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -