void Sprite::set_hframes(int p_amount) { ERR_FAIL_COND(p_amount < 1); hframes = p_amount; update(); item_rect_changed(); _change_notify(); }
void Sprite::set_frame(int p_frame) { ERR_FAIL_INDEX(p_frame,vframes*hframes); if (frame != p_frame) item_rect_changed(); frame=p_frame; }
void Sprite::set_region_rect(const Rect2& p_region_rect) { bool changed=region_rect!=p_region_rect; region_rect=p_region_rect; if (region && changed) { update(); item_rect_changed(); } }
void ViewportSprite::_notification(int p_what) { switch(p_what) { case NOTIFICATION_ENTER_TREE: { if (!viewport_path.is_empty()) { Node *n = get_node(viewport_path); ERR_FAIL_COND(!n); Viewport *vp=n->cast_to<Viewport>(); ERR_FAIL_COND(!vp); Ref<RenderTargetTexture> rtt = vp->get_render_target_texture(); texture=rtt; texture->connect("changed",this,"update"); item_rect_changed(); } } break; case NOTIFICATION_EXIT_TREE: { if (texture.is_valid()) { texture->disconnect("changed",this,"update"); texture=Ref<Texture>(); } } break; case NOTIFICATION_DRAW: { if (texture.is_null()) return; RID ci = get_canvas_item(); /* texture->draw(ci,Point2()); break; */ Size2i s; Rect2i src_rect; s = texture->get_size(); src_rect.size=s; Point2i ofs=offset; if (centered) ofs-=s/2; Rect2i dst_rect(ofs,s); texture->draw_rect_region(ci,dst_rect,src_rect,modulate); } break; } }
void NinePatchRect::set_region_rect(const Rect2 &p_region_rect) { if (region_rect == p_region_rect) return; region_rect = p_region_rect; item_rect_changed(); _change_notify("region_rect"); }
void Sprite::set_frame(int p_frame) { ERR_FAIL_INDEX(p_frame,vframes*hframes); if (frame != p_frame) item_rect_changed(); frame=p_frame; emit_signal(SceneStringNames::get_singleton()->frame_changed); }
void Sprite::set_region_rect(const Rect2 &p_region_rect) { if (region_rect == p_region_rect) return; region_rect = p_region_rect; if (region) item_rect_changed(); _change_notify("region_rect"); }
void VisibilityNotifier2D::set_rect(const Rect2& p_rect){ rect=p_rect; if (is_inside_tree()) { get_world_2d()->_update_notifier(this,get_global_transform().xform(rect)); if (get_tree()->is_editor_hint()) { update(); item_rect_changed(); } } _change_notify("rect"); }
void Sprite::set_texture(const Ref<Texture>& p_texture) { if (p_texture==texture) return; if (texture.is_valid()) { texture->disconnect(CoreStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->update); } texture=p_texture; if (texture.is_valid()) { texture->set_flags(texture->get_flags()); //remove repeat from texture, it looks bad in sprites texture->connect(CoreStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->update); } update(); item_rect_changed(); }
void Sprite::set_texture(const Ref<Texture> &p_texture) { if (p_texture == texture) return; if (texture.is_valid()) texture->remove_change_receptor(this); texture = p_texture; if (texture.is_valid()) texture->add_change_receptor(this); update(); emit_signal("texture_changed"); item_rect_changed(); _change_notify("texture"); }
void Sprite::set_texture(const Ref<Texture>& p_texture) { if (p_texture==texture) return; #ifdef DEBUG_ENABLED if (texture.is_valid()) { texture->disconnect(CoreStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->update); } #endif texture=p_texture; #ifdef DEBUG_ENABLED if (texture.is_valid()) { texture->set_flags(texture->get_flags()); //remove repeat from texture, it looks bad in sprites texture->connect(CoreStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->update); } #endif update(); emit_signal("texture_changed"); item_rect_changed(); }
void TileMap::_recompute_rect_cache() { #ifdef DEBUG_ENABLED if (!rect_cache_dirty) return; Rect2 r_total; for (Map<PosKey,Quadrant>::Element *E=quadrant_map.front();E;E=E->next()) { Rect2 r; r.pos=_map_to_world(E->key().x*_get_quadrant_size(), E->key().y*_get_quadrant_size()); r.expand_to( _map_to_world(E->key().x*_get_quadrant_size()+_get_quadrant_size(), E->key().y*_get_quadrant_size()) ); r.expand_to( _map_to_world(E->key().x*_get_quadrant_size()+_get_quadrant_size(), E->key().y*_get_quadrant_size()+_get_quadrant_size()) ); r.expand_to( _map_to_world(E->key().x*_get_quadrant_size(), E->key().y*_get_quadrant_size()+_get_quadrant_size()) ); if (E==quadrant_map.front()) r_total=r; else r_total=r_total.merge(r); } if (r_total==Rect2()) { rect_cache=Rect2(-10,-10,20,20); } else { rect_cache=r_total.grow(MAX(cell_size.x,cell_size.y)*_get_quadrant_size()); } item_rect_changed(); rect_cache_dirty=false; #endif }
void Sprite::set_centered(bool p_center) { centered = p_center; update(); item_rect_changed(); }
void Sprite::set_offset(const Point2& p_offset) { offset=p_offset; update(); item_rect_changed(); }