|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sub_arctic.lib.min_interactor | +--sub_arctic.lib.base_interactor | +--sub_arctic.lib.base_parent_interactor | +--sub_arctic.lib.shrink_wrap_container | +--sub_arctic.lib.drag_container
This class provides a container for dragging. You can put any subtree inside it to make that subtree draggable. The container handles the pick process correctly so that it only initiates a drag if you actually click over an object inside the an object in the sub-tree (not simply anywhere inside the bounds of the container). The container will "shrink-wrap" around the objects it contains, and can optionally draw a bounding rectangle as drag feedback.
Field Summary | |
protected callback_object |
_callback_obj
Object we make callbacks to. |
protected static int |
DO_BB_FEEDBACK
Flag bit position for flag indicating whether to do bounding box drag feedback. |
protected static int |
DOING_DRAG
Flag bit position for flag indicating whether we are currently in the middle of a drag. |
static int |
END_MOVE_CALLBACK
Constant for "end" callback (called only at end of move). |
static int |
MOVE_CALLBACK
Constant for "move" callback (called on every move, including last). |
Fields inherited from class sub_arctic.lib.shrink_wrap_container |
_border,
DRAW_BORDER |
Fields inherited from class sub_arctic.lib.base_interactor |
_child_index,
_child_list,
_clip_bounds,
_constraint_flags,
_enabled_constraint,
_flags,
_h,
_h_constraint,
_parent,
_part_a_constraint,
_part_b_constraint,
_user_data,
_visible_constraint,
_w,
_w_constraint,
_x,
_x_constraint,
_y,
_y_constraint,
default_child_hint |
Constructor Summary | |
drag_container(int x,
int y,
boolean do_bb_feedback)
Nearly full constructor. |
|
drag_container(int x,
int y,
boolean do_bb_feedback,
callback_object cbo)
full constructor. |
Method Summary | |
boolean |
bounding_box_feedback()
Is the object currently set to do bounding box drag feedback? |
callback_object |
callback_obj()
Retrieve the object we make callbacks to. |
boolean |
drag_end(event evt,
int x_pos,
int y_pos,
int st_x,
int st_y,
int grab_x,
int grab_y,
java.lang.Object user_info)
Handle input corresponding to the end of a drag. |
boolean |
drag_feedback(event evt,
int x_pos,
int y_pos,
int st_x,
int st_y,
int grab_x,
int grab_y,
java.lang.Object user_info)
Handle a movement during a drag. |
boolean |
drag_start(event evt,
int x_pos,
int y_pos,
int grab_x,
int grab_y,
java.lang.Object user_info)
Handle the start of a drag to the object. |
protected void |
draw_self_local(drawable d)
Draw the object's current appearance. |
int |
first_callback_num()
First valid callback number |
int |
last_callback_num()
First valid callback number |
void |
pick(int pt_x,
int pt_y,
pick_collector pick_list)
Determine if this object is "picked" by the the given point. |
boolean |
press(event evt,
java.lang.Object user_info)
Handle mouse button press input to the object. |
boolean |
release(event evt,
java.lang.Object user_info)
Companion to press(). |
void |
set_bounding_box_feedback(boolean do_bbf)
Set object to do or not do bounding box drag feedback. |
void |
set_callback_obj(callback_object cbo)
Set the object we make callbacks to. |
Methods inherited from class sub_arctic.lib.shrink_wrap_container |
border,
draw_border,
set_border,
set_draw_border,
setup_constraints |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected static final int DO_BB_FEEDBACK
protected static final int DOING_DRAG
protected callback_object _callback_obj
public static final int END_MOVE_CALLBACK
public static final int MOVE_CALLBACK
Constructor Detail |
public drag_container(int x, int y, boolean do_bb_feedback, callback_object cbo)
int
- x initial x position of the container.int
- y initial y position of the container.boolean
- do_bb_feedback whether we do bounding box feedback.callback_object
- cbo object to make callbacks to.public drag_container(int x, int y, boolean do_bb_feedback)
int
- x initial x position of the container.int
- y initial y position of the container.boolean
- do_bb_feedback whether we do bounding box feedback.Method Detail |
public boolean bounding_box_feedback()
public void set_bounding_box_feedback(boolean do_bbf)
boolean
- do_bbf passed true if the object should do bounding box
feedback during drag.public callback_object callback_obj()
public void set_callback_obj(callback_object cbo)
callback_object
- cbo the new callback object.public int first_callback_num()
public int last_callback_num()
public boolean press(event evt, java.lang.Object user_info)
event
- evt press event being dispatched.Object
- user_info information provided by this object at pick time
(in this case ignored).public boolean release(event evt, java.lang.Object user_info)
event
- evt release event being dispatched.Object
- user_info information provided by this object at pick timepublic boolean drag_start(event evt, int x_pos, int y_pos, int grab_x, int grab_y, java.lang.Object user_info)
event
- evt the event "causing" the start of the drag.int
- x_pos x position of new position (in parent's coords).int
- y_pos y position of new position (in parent's coords).int
- grab_x x position where we started the drag (in local
coords).int
- grab_y y position where we started the drag (in local
coords).Object
- user_info information provided when this object requested
focus.public boolean drag_feedback(event evt, int x_pos, int y_pos, int st_x, int st_y, int grab_x, int grab_y, java.lang.Object user_info)
event
- evt the event "causing" the start of the drag.int
- x_pos x position of new position (in parent's coords).int
- y_pos y position of new position (in parent's coords).int
- start_x x position where we started the drag (in parent's
coords).int
- start_y y position where we started the drag (in parent's
coords).int
- grab_x x position where we started the grab (in local
coords).int
- grab_y y position where we started the grab (in local
coords).Object
- user_info information provided when this object requested
focus.public boolean drag_end(event evt, int x_pos, int y_pos, int st_x, int st_y, int grab_x, int grab_y, java.lang.Object user_info)
event
- evt the event "causing" the start of the drag.int
- x_pos x position of new position (in parent's coords).int
- y_pos y position of new position (in parent's coords).int
- start_x x position where we started the drag (in parent's
coords).int
- start_y y position where we started the drag (in parent's
coords).int
- grab_x x position where we started the grab (in local
coords).int
- grab_y y position where we started the grab (in local
coords).Object
- user_info information provided when this object requested
focus.public void pick(int pt_x, int pt_y, pick_collector pick_list)
int
- pt_x x of point we are testing for pick.int
- pt_y y of point we are testing for pick.pick_collector
- pick_list the collector for our result.protected void draw_self_local(drawable d)
drawable
- d the surface we draw on.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |