Sha256: d529f1655b33fffce662f22680e4adcb1a82f3a55fa82cbee20c5456c3069456

Contents?: true

Size: 1.37 KB

Versions: 16

Compression:

Stored size: 1.37 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __REFLEX_POINTER_H__
#define __REFLEX_POINTER_H__


#include <xot/pimpl.h>
#include <xot/util.h>
#include <rays/point.h>
#include <reflex/defs.h>


namespace Reflex
{


	class Pointer
	{

		typedef Pointer This;

		public:

			typedef int ID;

			enum Type
			{

				TYPE_NONE    = 0,

				MOUSE        = Xot::bit(0),

				MOUSE_LEFT   = Xot::bit(1),

				MOUSE_RIGHT  = Xot::bit(2),

				MOUSE_MIDDLE = Xot::bit(3),

				TOUCH        = Xot::bit(4),

				PEN          = Xot::bit(5),

				TYPE_LAST    = PEN

			};// Type

			enum Action
			{

				ACTION_NONE = 0,

				DOWN,

				UP,

				MOVE,

				CANCEL,

				STAY

			};// Action

			Pointer ();

			Pointer (
				ID id, uint types, Action action,
				const Point& position, uint modifiers, bool drag,
				uint click_count, uint view_index, double time);

			Pointer (const This& obj);

			Pointer& operator = (const This& obj);

			~Pointer ();

			ID id () const;

			uint types () const;

			Action action () const;

			const Point& position () const;

			uint modifiers () const;

			bool is_drag () const;

			uint click_count () const;

			uint view_index () const;

			double time () const;

			const Pointer* prev () const;

			const Pointer* down () const;

			operator bool () const;

			bool operator ! () const;

			struct Data;

			Xot::PImpl<Data> self;

	};// Pointer


}// Reflex


#endif//EOH

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
reflexion-0.3 include/reflex/pointer.h
reflexion-0.2.1 include/reflex/pointer.h
reflexion-0.2 include/reflex/pointer.h
reflexion-0.1.57 include/reflex/pointer.h
reflexion-0.1.56 include/reflex/pointer.h
reflexion-0.1.55 include/reflex/pointer.h
reflexion-0.1.54 include/reflex/pointer.h
reflexion-0.1.53 include/reflex/pointer.h
reflexion-0.1.52 include/reflex/pointer.h
reflexion-0.1.51 include/reflex/pointer.h
reflexion-0.1.50 include/reflex/pointer.h
reflexion-0.1.49 include/reflex/pointer.h
reflexion-0.1.48 include/reflex/pointer.h
reflexion-0.1.47 include/reflex/pointer.h
reflexion-0.1.46 include/reflex/pointer.h
reflexion-0.1.45 include/reflex/pointer.h