|
|||||||||
| 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 time
public 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 | ||||||||