Class: Window

Inherits:
LiteRGSS::Window show all
Defined in:
scripts/00000 Dependencies/00001 LiteRGSS2/00003 Drawable.rb,
scripts/00700 Ajout_PSDK/01800 XXX_simple_mouse_in_.rb

Overview

Class used to show a Window object on screen.

A Window is an object that has a frame (built from #window_builder and #windowskin) and some contents that can be Sprites or Texts.

Direct Known Subclasses

UI::Message::Window, UI::NameInputUI, UI::Window

Instance Attribute Summary

Attributes inherited from LiteRGSS::Window

#__index__, #active, #back_opacity, #contents_opacity, #cursor_rect, #cursorskin, #height, #opacity, #ox, #oy, #pause, #pause_x, #pause_y, #pauseskin, #stretch, #viewport, #visible, #width, #window_builder, #windowskin, #x, #y, #z

Instance Method Summary collapse

Methods inherited from LiteRGSS::Window

#lock, #locked?, new, #set_origin, #set_position, #set_size, #unlock, #update

Methods inherited from LiteRGSS::Disposable

#dispose, #disposed?

Instance Method Details

#simple_mouse_in?(mouse_x = Mouse.x, mouse_y = Mouse.y) ⇒ Boolean

Detect if the mouse is in the window

Parameters:

  • mouse_x (Integer) (defaults to: Mouse.x)

    the mouse x position on the screen

  • mouse_y (Integer) (defaults to: Mouse.y)

    the mouse y position on the screen

Returns:

  • (Boolean)

Author:

  • Nuri Yuri



121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'scripts/00700 Ajout_PSDK/01800 XXX_simple_mouse_in_.rb', line 121

def simple_mouse_in?(mouse_x = Mouse.x, mouse_y = Mouse.y)
  if viewport
    return false unless viewport.simple_mouse_in?(mouse_x, mouse_y)
    mouse_x, mouse_y = viewport.translate_mouse_coords(mouse_x, mouse_y)
  end
  bx = x
  by = y
  return false if mouse_x < bx || mouse_y < by
  bx += width
  by += height
  return false if mouse_x >= bx || mouse_y >= by
  true
end

#translate_mouse_coords(mouse_x = Mouse.x, mouse_y = Mouse.y) ⇒ Array(Integer, Integer)

Convert mouse coordinate on the screen to mouse coordinates on the window

Parameters:

  • mouse_x (Integer) (defaults to: Mouse.x)

    the mouse x position on the screen

  • mouse_y (Integer) (defaults to: Mouse.y)

    the mouse y position on the screen

Returns:

Author:

  • Nuri Yuri



140
141
142
143
144
145
146
147
148
# File 'scripts/00700 Ajout_PSDK/01800 XXX_simple_mouse_in_.rb', line 140

def translate_mouse_coords(mouse_x = Mouse.x, mouse_y = Mouse.y)
  if viewport
    mouse_x, mouse_y = viewport.translate_mouse_coords(mouse_x, mouse_y)
  end
  rect = self.rect
  mouse_x -= rect.x - ox
  mouse_y -= rect.y - oy
  return mouse_x, mouse_y
end