Class: SFML::Target
- Inherits:
-
Object
- Object
- SFML::Target
- Defined in:
- ext/graphics/target.c,
ext/graphics/target.c
Overview
A legacy generic handle onto whatever can be drawn to -- a Window or a RenderTexture -- used by Drawable#draw so drawable objects don't need to know which concrete kind of target they're being drawn onto.
New code should pass a SFML::RenderWindow or SFML::RenderTexture (both include SFML::RenderTarget) straight to a drawable's #draw.
Instance Attribute Summary collapse
-
#view ⇒ View
Returns the target's current view.
Instance Method Summary collapse
-
#draw(drawable, state) ⇒ nil
Draws
drawable(any object responding to#draw, i.e. including Drawable) onto this target usingstate(a RenderState). -
#new(window) ⇒ Target
constructor
Wraps
window(a Window) as a generic render target.
Constructor Details
#new(window) ⇒ Target
Wraps window (a Window) as a generic render target.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'ext/graphics/target.c', line 61
static VALUE RenderTarget_initialize(VALUE self, VALUE rb_window) {
Target* target;
if (!rb_obj_is_kind_of(rb_window, Get_Klass_Window())) {
raise_invalid_argument_class(Get_Klass_Window());
}
target = Get_Target_Struct(self);
target->type = SFML_TARGET_WINDOW;
target->handle = Get_Window_Struct(rb_window);
target->rb_source = rb_window;
return self;
}
|
Instance Attribute Details
#view ⇒ View
Returns the target's current view.
161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'ext/graphics/target.c', line 161
static VALUE RenderTarget_get_view(VALUE self) {
Target* target = Get_Target_Struct(self);
sfView* view;
if (target->type == SFML_TARGET_WINDOW) {
view = sfView_copy(sfRenderWindow_getView((sfRenderWindow*)target->handle));
} else {
view = sfView_copy(sfRenderTexture_getView((sfRenderTexture*)target->handle));
}
return Get_Casting_View(view);
}
|
Instance Method Details
#draw(drawable, state) ⇒ nil
Draws drawable (any object responding to #draw, i.e. including
Drawable) onto this target using state (a RenderState).
85 86 87 88 89 90 91 |
# File 'ext/graphics/target.c', line 85
static VALUE RenderTarget_draw(VALUE self, VALUE rb_drawable, VALUE rb_state) {
if (!rb_obj_is_kind_of(rb_state, Get_Klass_RenderState())) {
raise_invalid_argument_class(Get_Klass_RenderState());
}
return rb_funcall(rb_drawable, rb_intern("draw"), 2, self, rb_state);
}
|