Panda3D
Public Types | Public Member Functions | Static Public Member Functions
MouseWatcherRegion Class Reference

This is the class that defines a rectangular region on the screen for the MouseWatcher. More...

#include "mouseWatcherRegion.h"

Inheritance diagram for MouseWatcherRegion:
TypedWritableReferenceCount Namable TypedWritable ReferenceCount MemoryBase TypedObject MemoryBase MemoryBase PGMouseWatcherBackground PGMouseWatcherRegion

List of all members.

Public Types

enum  SuppressFlags { SF_mouse_button = 0x001, SF_other_button = 0x002, SF_any_button = 0x003, SF_mouse_position = 0x004 }

Public Member Functions

 MouseWatcherRegion (const string &name, PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)
 MouseWatcherRegion (const string &name, const LVecBase4 &frame)
virtual void candidate (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever an IME candidate is highlighted by the user.
virtual void enter_region (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse enters the region.
virtual void exit_region (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse exits the region.
virtual TypeHandle force_init_type ()
bool get_active () const
 Returns whether the region is active or not.
PN_stdfloat get_area () const
 Returns the area of the rectangular region.
const LVecBase4get_frame () const
bool get_keyboard () const
 Returns whether the region is interested in global keyboard events; see set_keyboard().
int get_sort () const
 Returns the current sorting order of this region.
int get_suppress_flags () const
 Returns the current suppress_flags.
virtual TypeHandle get_type () const
virtual void keystroke (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever a keystroke is generated by the user.
virtual void move (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever a mouse is moved within the region.
bool operator< (const MouseWatcherRegion &other) const
 Returns true if this region should be preferred over the other region when they overlap, false otherwise.
void output (ostream &out) const
 Outputs the Namable.
virtual void press (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever a mouse or keyboard button is depressed while the mouse is within the region.
virtual void release (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever a mouse or keyboard button previously depressed with press() is released.
void set_active (bool active)
 Sets whether the region is active or not.
void set_frame (PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)
void set_frame (const LVecBase4 &frame)
void set_keyboard (bool keyboard)
 Sets whether the region is interested in global keyboard events.
void set_sort (int sort)
 Changes the sorting order of this particular region.
void set_suppress_flags (int suppress_flags)
 Sets which events are suppressed when the mouse is over the region.
virtual void within_region (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse moves within the boundaries of the region, even if it is also within the boundaries of a nested region.
virtual void without_region (const MouseWatcherParameter &param)
 This is a callback hook function, called whenever the mouse moves completely outside the boundaries of the region.
void write (ostream &out, int indent_level=0) const

Static Public Member Functions

static TypeHandle get_class_type ()
static void init_type ()

Detailed Description

This is the class that defines a rectangular region on the screen for the MouseWatcher.

Definition at line 33 of file mouseWatcherRegion.h.


Member Function Documentation

void MouseWatcherRegion::candidate ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever an IME candidate is highlighted by the user.

Reimplemented in PGMouseWatcherRegion, and PGMouseWatcherBackground.

Definition at line 134 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::candidate().

void MouseWatcherRegion::enter_region ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever the mouse enters the region.

The mouse is only considered to be "entered" in one region at a time; in the case of nested regions, it exits the outer region before entering the inner one.

Reimplemented in PGMouseWatcherRegion.

Definition at line 54 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::enter_region().

void MouseWatcherRegion::exit_region ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever the mouse exits the region.

The mouse is only considered to be "entered" in one region at a time; in the case of nested regions, it exits the outer region before entering the inner one.

Reimplemented in PGMouseWatcherRegion.

Definition at line 67 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::clear_current_regions(), and MouseWatcher::exit_region().

bool MouseWatcherRegion::get_active ( ) const [inline]

Returns whether the region is active or not.

See set_active().

Definition at line 138 of file mouseWatcherRegion.I.

Referenced by MouseWatcher::get_over_regions().

PN_stdfloat MouseWatcherRegion::get_area ( ) const [inline]

Returns the area of the rectangular region.

Definition at line 82 of file mouseWatcherRegion.I.

bool MouseWatcherRegion::get_keyboard ( ) const [inline]

Returns whether the region is interested in global keyboard events; see set_keyboard().

Definition at line 168 of file mouseWatcherRegion.I.

Referenced by MouseWatcher::candidate(), MouseWatcher::global_keyboard_press(), MouseWatcher::global_keyboard_release(), and MouseWatcher::keystroke().

int MouseWatcherRegion::get_sort ( ) const [inline]

Returns the current sorting order of this region.

See set_sort().

Definition at line 109 of file mouseWatcherRegion.I.

Returns the current suppress_flags.

See set_suppress_flags().

Definition at line 197 of file mouseWatcherRegion.I.

void MouseWatcherRegion::keystroke ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever a keystroke is generated by the user.

Reimplemented in PGMouseWatcherRegion, and PGMouseWatcherBackground.

Definition at line 124 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::keystroke().

void MouseWatcherRegion::move ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever a mouse is moved within the region.

Reimplemented in PGMouseWatcherRegion.

Definition at line 144 of file mouseWatcherRegion.cxx.

bool MouseWatcherRegion::operator< ( const MouseWatcherRegion other) const [inline]

Returns true if this region should be preferred over the other region when they overlap, false otherwise.

Definition at line 208 of file mouseWatcherRegion.I.

void MouseWatcherRegion::output ( ostream &  out) const

Outputs the Namable.

This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

Reimplemented from Namable.

Definition at line 28 of file mouseWatcherRegion.cxx.

void MouseWatcherRegion::press ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever a mouse or keyboard button is depressed while the mouse is within the region.

Reimplemented in PGMouseWatcherRegion, and PGMouseWatcherBackground.

Definition at line 103 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::enter_region(), and MouseWatcher::global_keyboard_press().

void MouseWatcherRegion::release ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever a mouse or keyboard button previously depressed with press() is released.

Reimplemented in PGMouseWatcherRegion, and PGMouseWatcherBackground.

Definition at line 114 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::exit_region(), MouseWatcher::global_keyboard_release(), and MouseWatcher::release().

void MouseWatcherRegion::set_active ( bool  active) [inline]

Sets whether the region is active or not.

If it is not active, the MouseWatcher will never consider the mouse to be over the region. The region might still receive keypress events if its set_keyboard() flag is true.

Definition at line 123 of file mouseWatcherRegion.I.

void MouseWatcherRegion::set_keyboard ( bool  keyboard) [inline]

Sets whether the region is interested in global keyboard events.

If this is true, then any keyboard button events will be passed to press() and release() regardless of the position of the mouse onscreen; otherwise, these events will only be passed if the mouse is over the region.

Definition at line 153 of file mouseWatcherRegion.I.

void MouseWatcherRegion::set_sort ( int  sort) [inline]

Changes the sorting order of this particular region.

The sorting order is used to resolve conflicts in the case of overlapping region; the region with the highest sort value will be preferred, and between regions of the same sort value, the smallest region will be preferred. The default sorting order, if none is explicitly specified, is 0.

Definition at line 98 of file mouseWatcherRegion.I.

void MouseWatcherRegion::set_suppress_flags ( int  suppress_flags) [inline]

Sets which events are suppressed when the mouse is over the region.

This is the union of zero or more various SF_* values. Normally, this is 0, indicating that no events are suppressed.

If you set this to a non-zero value, for instance SF_mouse_position, then the mouse position will not be sent along the data graph when the mouse is over this particular region.

Definition at line 186 of file mouseWatcherRegion.I.

void MouseWatcherRegion::within_region ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever the mouse moves within the boundaries of the region, even if it is also within the boundaries of a nested region.

This is different from "enter", which is only called whenever the mouse is within only that region.

Reimplemented in PGMouseWatcherRegion.

Definition at line 81 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::within_region().

void MouseWatcherRegion::without_region ( const MouseWatcherParameter param) [virtual]

This is a callback hook function, called whenever the mouse moves completely outside the boundaries of the region.

See within_region().

Reimplemented in PGMouseWatcherRegion.

Definition at line 92 of file mouseWatcherRegion.cxx.

Referenced by MouseWatcher::without_region().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations