Method: MiniGL::TextField#draw
- Defined in:
- lib/minigl/forms.rb
#draw(alpha = 0xff, z_index = 0, color = 0xffffff, disabled_color = 0x808080) ⇒ Object
Draws the text field in the screen.
Parameters:
- alpha
-
The opacity with which the text field will be drawn. Allowed values vary between 0 (fully transparent) and 255 (fully opaque).
- z_index
-
The z-order to draw the object. Objects with larger z-orders will be drawn on top of the ones with smaller z-orders.
- color
-
Color to apply a filter to the image.
- disabled_color
-
Color to apply a filter to the image when the field is disabled.
965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 |
# File 'lib/minigl/forms.rb', line 965 def draw(alpha = 0xff, z_index = 0, color = 0xffffff, disabled_color = 0x808080) @z_index = z_index return unless @visible color = (alpha << 24) | ((@enabled or @disabled_img) ? color : disabled_color) text_color = (alpha << 24) | (@enabled ? @text_color : @disabled_text_color) img = ((@enabled or @disabled_img.nil?) ? @img : @disabled_img) img.draw @x, @y, z_index, @scale_x, @scale_y, color @font.draw_text @text, @text_x, @text_y, z_index, @scale_x, @scale_y, text_color if @anchor1 and @anchor2 selection_color = ((alpha / 2) << 24) | @selection_color G.window.draw_quad @nodes[@anchor1], @text_y, selection_color, @nodes[@anchor2] + 1, @text_y, selection_color, @nodes[@anchor2] + 1, @text_y + @font.height * @scale_y, selection_color, @nodes[@anchor1], @text_y + @font.height * @scale_y, selection_color, z_index end if @cursor_visible if @cursor_img @cursor_img.draw @nodes[@cur_node] - (@cursor_img.width * @scale_x) / 2, @text_y, z_index, @scale_x, @scale_y else cursor_color = alpha << 24 G.window.draw_quad @nodes[@cur_node], @text_y, cursor_color, @nodes[@cur_node] + 1, @text_y, cursor_color, @nodes[@cur_node] + 1, @text_y + @font.height * @scale_y, cursor_color, @nodes[@cur_node], @text_y + @font.height * @scale_y, cursor_color, z_index end end end |