sub_arctic.lib
Class line_display
java.lang.Object
|
+--sub_arctic.lib.min_interactor
|
+--sub_arctic.lib.base_interactor
|
+--sub_arctic.lib.line_display
- public class line_display
- extends base_interactor
Class to display a line with optional arrowheads. Note: the presence of
the arrowheads makes it that case that the endpoints of the line are not
necessarily at the corners of the bounding box (consider, for example, a
horizontal line). This unfortunately makes use of the line with constraints
still a bit problematical.
Field Summary |
protected int |
_arrow_head_angle
The angle (in degrees) between each of the arrowhead lines and the line
itself. |
protected int |
_arrow_head_length
The length of the edges of the arrowhead lines. |
protected java.awt.Point |
line_end
Record of line end point. |
protected java.awt.Point |
line_start
Record of line start point. |
protected static int |
NEG_DIAG
Interactor flag bit to indicate if line is negatively sloped:
0,0 -> w,h [true] or positively sloped: 0,h -> w,0 [false]. |
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 |
line_display(int x1,
int y1,
int x2,
int y2,
int arrowheads)
Constructor with arrowhead defaults. |
line_display(int x1,
int y1,
int x2,
int y2,
int arrowheads,
int l,
int a)
Full constructor. |
Method Summary |
int |
arrow_head_angle()
The angle (in degrees) between each of the arrowhead lines and the line
itself. |
int |
arrow_head_length()
The length of the edges of the arrowhead lines. |
int |
arrow_heads()
Number of arrowheads. |
void |
draw_self_local(drawable d)
Draw the image of the line |
boolean |
neg_diag()
Indicate if line is negatively sloped (i.e., to be interpreted as
0,0 -> w,h rather than 0,h -> w,0). |
static java.util.Vector |
phase2(double radius,
int length,
int angle)
phase 2 computes the locations of the points given that
the arrow was along the x axis, pointing right. |
void |
set_arrow_head_angle(int a)
Set the angle (in degrees) between each of the arrowhead lines and the line
itself. |
void |
set_arrow_head_length(int l)
Set the length of the edges of the arrowhead lines. |
void |
set_arrow_heads(int h)
Set the number of arrowheads. |
void |
set_coords(int x1,
int y1,
int x2,
int y2)
Set the position of the line. |
int |
x1()
Return x1 in parent's coordinate system. |
int |
x2()
Return x2 in parent's coordinate system. |
int |
y1()
Return y1 in parent's coordinate system. |
int |
y2()
Return y2 in parent's coordinate system. |
Methods inherited from class sub_arctic.lib.base_interactor |
active_constraints,
add_child,
add_user_datum,
attach_dependent,
bound,
callback_obj,
child_index,
child,
clear_child_list,
clear_constraint_flag_bit,
clear_flag_bit,
configure,
constraint_flag_is_set,
constraint_flag_string,
constraint_on,
custom_fun1,
custom_fun2,
damage_fixed,
damage_from_child,
damage_self,
damage_self,
damage_self,
damage_self,
damage_self,
detach_dependent,
do_action,
do_action,
do_callback,
do_callback,
drag_feature_point,
draw_children,
draw_self,
enabled_constraint,
enabled,
enter_local_coordinates,
eval_enabled,
eval_h,
eval_part_a,
eval_part_b,
eval_visible,
eval_w,
eval_x,
eval_y,
eval,
exit_local_coords,
feature_point_enabled,
feature_point,
filter_pt,
find_child,
first_callback_num,
fixed_children,
flag_is_set,
flag_string,
focus_set_enter,
focus_set_exit,
get_awt_component,
get_external_constraint,
get_part,
get_top_level,
get_value,
global_to_local,
global_to_local,
h_constraint,
h,
handle_cycle,
inform_ood,
insert_child,
inside_bounds,
into_local,
into_local,
into_parent,
into_parent,
intrinsic_constraints,
is_constrained,
last_callback_num,
local_to_global,
local_to_global,
mark_all_ood,
mark_enabled_ood,
mark_h_ood,
mark_ood,
mark_part_a_ood,
mark_part_b_ood,
mark_reparented_ood,
mark_visible_ood,
mark_w_ood,
mark_x_ood,
mark_y_ood,
marked_ood,
move_child_downward,
move_child_downward,
move_child_to_bottom,
move_child_to_bottom,
move_child_to_top,
move_child_to_top,
move_child_upward,
move_child_upward,
move_downward,
move_to_bottom,
move_to_top,
move_upward,
new_look_configure,
next_sibling,
num_actions,
num_children,
num_feature_points,
ood_inform_all,
parent,
part_a_constraint,
part_a,
part_b_constraint,
part_b,
pick_within_children,
pick,
picked_by,
pos,
prev_sibling,
register_resource_names,
remove_child,
remove_child,
remove_user_datum,
restyle_look_resources,
restyle,
set_callback_obj,
set_child_index,
set_child,
set_constraint_flag_bit,
set_constraint_flag_bit,
set_constraint,
set_constraint,
set_enabled_constraint,
set_enabled_constraint,
set_enabled_constraint,
set_enabled,
set_flag_bit,
set_flag_bit,
set_h_constraint,
set_h_constraint,
set_h_constraint,
set_h,
set_intrinsic_h,
set_intrinsic_size,
set_intrinsic_w,
set_parent,
set_part_a_constraint,
set_part_a_constraint,
set_part_a_constraint,
set_part_a,
set_part_b_constraint,
set_part_b_constraint,
set_part_b_constraint,
set_part_b,
set_pos,
set_pos,
set_raw_enabled,
set_raw_h,
set_raw_part_a,
set_raw_part_b,
set_raw_visible,
set_raw_w,
set_raw_x,
set_raw_y,
set_size,
set_style_lock,
set_user_info,
set_visible_constraint,
set_visible_constraint,
set_visible_constraint,
set_visible,
set_w_constraint,
set_w_constraint,
set_w_constraint,
set_w,
set_x_constraint,
set_x_constraint,
set_x_constraint,
set_x,
set_y_constraint,
set_y_constraint,
set_y_constraint,
set_y,
setup_for_children,
setup_for_children,
setup_for_fixed_children,
size,
style_change_local,
style_change,
supports_children,
tag_str,
toString,
traverse_and_collect_children,
traverse_and_collect_parent,
traverse_and_collect,
trivial_reject,
trivial_reject,
user_data,
user_info,
value_ood,
visible_constraint,
visible,
w_constraint,
w,
x_constraint,
x_into_local,
x_into_parent,
x,
y_constraint,
y_into_local,
y_into_parent,
y |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
NEG_DIAG
protected static final int NEG_DIAG
- Interactor flag bit to indicate if line is negatively sloped:
0,0 -> w,h [true] or positively sloped: 0,h -> w,0 [false].
This is computed dynamically as the x1,y1, x2,y2 coordinates of the
line are set. (The proper value is computed as (y2 > y1)==(x2 > x1)).
line_start
protected java.awt.Point line_start
- Record of line start point.
line_end
protected java.awt.Point line_end
- Record of line end point.
_arrow_head_length
protected int _arrow_head_length
- The length of the edges of the arrowhead lines.
_arrow_head_angle
protected int _arrow_head_angle
- The angle (in degrees) between each of the arrowhead lines and the line
itself.
line_display
public line_display(int x1,
int y1,
int x2,
int y2,
int arrowheads)
- Constructor with arrowhead defaults.
- Parameters:
int
- x1 x1 coordinate of the line.int
- y1 y1 coordinate of the line.int
- x2 x2 coordinate of the line.int
- y2 y2 coordinate of the line.int
- arrowheads the number of arrowheads to draw (must be 0,1, or 2).
line_display
public line_display(int x1,
int y1,
int x2,
int y2,
int arrowheads,
int l,
int a)
- Full constructor.
- Parameters:
int
- x1 x1 coordinate of the line.int
- y1 y1 coordinate of the line.int
- x2 x2 coordinate of the line.int
- y2 y2 coordinate of the line.int
- arrowheads the number of arrowheads to draw (must be 0,1, or 2).
neg_diag
public boolean neg_diag()
- Indicate if line is negatively sloped (i.e., to be interpreted as
0,0 -> w,h rather than 0,h -> w,0).
- Returns:
- boolean indicating negative slope.
x1
public int x1()
- Return x1 in parent's coordinate system. Note, coordinates may be
switched to maintain canonical form (i.e. what was originally set as
x2 may be reported as x1). Note this is the x1() position of the
line, the bound of the interactor object may extend a little further to
make room for an arrowhead.
- Returns:
- int x1 coordinate for the line.
y1
public int y1()
- Return y1 in parent's coordinate system. Note, coordinates may be
switched to maintain canonical form (i.e. what was originally set as
y2 may be reported as y1). Note this is the y1() position of the
line, the bound of the interactor object may extend a little further to
make room for an arrowhead.
- Returns:
- int y1 coordinate for the line.
x2
public int x2()
- Return x2 in parent's coordinate system. Note, coordinates may be
switched to maintain canonical form (i.e. what was originally set as
x2 may be reported as x1). Note this is the x2() position of the
line, the bound of the interactor object may extend a little further to
make room for an arrowhead.
- Returns:
- int x2 coordinate for the line.
y2
public int y2()
- Return y2 in parent's coordinate system. Note, coordinates may be
switched to maintain canonical form (i.e. what was originally set as
y2 may be reported as y1). Note this is the x1() position of the
line, the bound of the interactor object may extend a little further to
make room an arrowhead.
- Returns:
- int x2 coordinate for the line.
set_coords
public void set_coords(int x1,
int y1,
int x2,
int y2)
- Set the position of the line. Note, because of internal canonicalization,
the line may switch endpoints and later report what is given here as x1,y1
as x2,y2, and visa versa.
- Parameters:
int
- x1 x1 coordinate of the line (in parent's coordinate system).int
- y1 y1 coordinate of the line (in parent's coordinate system).int
- x1 x1 coordinate of the line (in parent's coordinate system).int
- y1 y1 coordinate of the line (in parent's coordinate system).
draw_self_local
public void draw_self_local(drawable d)
- Draw the image of the line
- Overrides:
- draw_self_local in class base_interactor
set_arrow_heads
public void set_arrow_heads(int h)
- Set the number of arrowheads. This must be 0, 1, or 2.
- Parameters:
int
- h number of arrowheads on this line.
arrow_heads
public int arrow_heads()
- Number of arrowheads.
- Returns:
- int the number of arrowheads on this line.
arrow_head_length
public int arrow_head_length()
- The length of the edges of the arrowhead lines.
- Returns:
- int the length of the edges of the arrowhead lines.
set_arrow_head_length
public void set_arrow_head_length(int l)
- Set the length of the edges of the arrowhead lines.
- Parameters:
int
- l the length of the edges of the arrowhead lines.
arrow_head_angle
public int arrow_head_angle()
- The angle (in degrees) between each of the arrowhead lines and the line
itself.
- Returns:
- int angle (in degrees) between arrowhead lines and the line itself.
set_arrow_head_angle
public void set_arrow_head_angle(int a)
- Set the angle (in degrees) between each of the arrowhead lines and the line
itself.
- Parameters:
int
- a angle (in degrees) between arrowhead lines and the line
itself.
phase2
public static java.util.Vector phase2(double radius,
int length,
int angle)
- phase 2 computes the locations of the points given that
the arrow was along the x axis, pointing right. We know the
length, so we rotate about the endpoint.