Class: SDL2::Rect
- Inherits:
-
Object
- Object
- SDL2::Rect
- Defined in:
- video.c,
video.c
Overview
This class represents a rectangle in SDL2.
Any rectanle is represented by four attributes x, y, w, and h, and these four attributes must be integer.
Instance Attribute Summary collapse
-
#h ⇒ Integer
Height of the rectangle.
-
#w ⇒ Integer
Width of the rectangle.
-
#x ⇒ Integer
X coordiante of the left-top point of the rectangle.
-
#y ⇒ Integer
Y coordiante of the left-top point of the rectangle.
Class Method Summary collapse
-
.[](*args) ⇒ SDL2::Rect
Alias of new.
Instance Method Summary collapse
-
#initialize(*args) ⇒ SDL2::Rect
constructor
Create a new SDL2::Rect object.
-
#inspect ⇒ String
Inspection string for debug.
-
#intersection(other) ⇒ SDL2::Rect?
Returns the intersection rect of self and other.
-
#union(other) ⇒ SDL2::Rect
Returns the minimal rect containing self and other.
Constructor Details
#initialze(x, y, w, h) ⇒ SDL2::Rect #initialize ⇒ SDL2::Rect
Create a new SDL2::Rect object
2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 |
# File 'video.c', line 2506
static VALUE Rect_initialize(int argc, VALUE* argv, VALUE self)
{
VALUE x, y, w, h;
rb_scan_args(argc, argv, "04", &x, &y, &w, &h);
if (argc == 0) {
/* do nothing*/
} else if (argc == 4) {
SDL_Rect* rect;
Data_Get_Struct(self, SDL_Rect, rect);
rect->x = NUM2INT(x); rect->y = NUM2INT(y);
rect->w = NUM2INT(w); rect->h = NUM2INT(h);
} else {
rb_raise(rb_eArgError, "wrong number of arguments (%d for 0 or 4)", argc);
}
return Qnil;
}
|
Instance Attribute Details
#h ⇒ Integer
Height of the rectangle
#w ⇒ Integer
Width of the rectangle
#x ⇒ Integer
X coordiante of the left-top point of the rectangle
#y ⇒ Integer
Y coordiante of the left-top point of the rectangle
Class Method Details
.[](*args) ⇒ SDL2::Rect
Alias of new. See #initialize.
Instance Method Details
#inspect ⇒ String
Inspection string for debug
2527 2528 2529 2530 2531 2532 |
# File 'video.c', line 2527
static VALUE Rect_inspect(VALUE self)
{
SDL_Rect* rect = Get_SDL_Rect(self);
return rb_sprintf("<SDL2::Rect: x=%d y=%d w=%d h=%d>",
rect->x, rect->y, rect->w, rect->h);
}
|
#intersection(other) ⇒ SDL2::Rect?
2548 2549 2550 2551 2552 2553 2554 2555 2556 |
# File 'video.c', line 2548
static VALUE Rect_intersection(VALUE self, VALUE other)
{
VALUE result = Rect_s_allocate(cRect);
if (SDL_IntersectRect(Get_SDL_Rect(self), Get_SDL_Rect(other), Get_SDL_Rect(result))) {
return result;
} else {
return Qnil;
}
}
|
#union(other) ⇒ SDL2::Rect
2565 2566 2567 2568 2569 2570 |
# File 'video.c', line 2565
static VALUE Rect_union(VALUE self, VALUE other)
{
VALUE result = Rect_s_allocate(cRect);
SDL_UnionRect(Get_SDL_Rect(self), Get_SDL_Rect(other), Get_SDL_Rect(result));
return result;
}
|