Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
action.h
1//##################################################################################################
2//
3// Copyright (c) 2024 Beijing Qiongqi Tech Co.,Ltd. All rights reserved.
4
5// This source code is confidential and proprietary to Beijing Qiongqi Tech Co.,Ltd(The Holder).
6// Any unauthorized use, copying, modification, or distribution of the code is strictly prohibited.
7// Any user shall obtain authorizaition from the Holder before modifying the source code. And the user shall not
8// sublicense, sell, distribute, or transfer the source code, whether in original or modified form, to any third party
9// without the prior written consent of the Holder.
10
11// This copyright notice and permission grant shall be included in all copies or substantial portions of the source code.
12
13// Author Cumulia Illustrator
14// Date 2024-05-01
15// Version V1.0.0
16//##################################################################################################
17
18#pragma once
19
20#include <cilcore.h>
21
22namespace cil
23{
24 class Action
25 {
26 public:
28 virtual ~Action();
29 };
30
31 class MouseAction : public Action
32 {
33 public:
35
36 virtual bool mouseDown(const ivec2& position);
37 virtual bool mouseMove(const ivec2& position);
38 virtual bool mouseUp(const ivec2& position);
39 virtual bool mouseWheel(const ivec2& position, bool up);
40 virtual void cancel();
41 };
42
44 {
45 public:
47
48 virtual bool mouseMove(const ivec2& position);
49
50 protected:
51 virtual bool hover(const ivec2& position);
52 };
53
55 {
56 protected:
58
59 public:
61
62 virtual bool mouseDown(const ivec2& position);
63 virtual bool mouseUp(const ivec2& position);
64
65 protected:
66 virtual void click(const ivec2& position);
67 };
68
70 {
71 protected:
73
74 public:
76
77 virtual bool mouseDown(const ivec2& position);
78 virtual bool mouseMove(const ivec2& position);
79
80 protected:
81 virtual void drag(const ivec2& position);
82 };
83
85 {
86 public:
88
89 virtual bool mouseWheel(const ivec2& position, bool up);
90
91 protected:
92 virtual bool wheel(const ivec2& position, bool up);
93 };
94}
Definition action.h:25
virtual ~Action()
Definition action.h:32
virtual bool mouseDown(const ivec2 &position)
virtual bool mouseUp(const ivec2 &position)
virtual bool mouseMove(const ivec2 &position)
virtual bool mouseWheel(const ivec2 &position, bool up)
virtual void cancel()
Definition action.h:55
Vector2i m_position
Definition action.h:57
virtual void click(const ivec2 &position)
virtual bool mouseUp(const ivec2 &position)
virtual bool mouseDown(const ivec2 &position)
Definition action.h:70
virtual bool mouseDown(const ivec2 &position)
Vector2i m_position
Definition action.h:72
virtual void drag(const ivec2 &position)
virtual bool mouseMove(const ivec2 &position)
Definition action.h:44
virtual bool hover(const ivec2 &position)
virtual bool mouseMove(const ivec2 &position)
Definition action.h:85
virtual bool mouseWheel(const ivec2 &position, bool up)
virtual bool wheel(const ivec2 &position, bool up)
The class Vector2i inherits from the templated class of Vector2, and the template parameters are spec...
Definition vector.h:255
Definition decal.h:23