void ScrollBar::Refresh() { if( this->getScaleX() == 0.0f || this->getScaleY() == 0.0f ) FadeIn(NULL); unscheduleAllSelectors(); //scheduleOnce( schedule_selector(UIFlowScrollBar::FadeOut), _fadeDelayTime ); float offset = 0; switch( _type ) { case VERTICAL_IN: case VERTICAL_OUT: offset = _target->getContentOffset().y; _nowContentSize = _target->getContentSize().height; break; case HORIZONTAL_IN: case HORIZONTAL_OUT: offset = _target->getContentOffset().x; _nowContentSize = _target->getContentSize().width; break; } this->setVisible( _nowContentSize >= _svFixSize ); RefreshScale(); RefreshPosition(); }
void FringeTile::RefreshTexture() { printf("RefreshTexture to tileID: %d\n", tileID); // free old texture here somehow: if (sprite->texture) { sprite->texture->RemoveReference(); sprite->texture = NULL; } const FringeTileData *fringeTileData = Level::GetCurrentFringeTileset()->GetFringeTileDataByID(tileID); if (fringeTileData) { sprite->texture = Assets::RequestTexture(fringeTileData->imageFilename, fringeTileData->filter, fringeTileData->repeatX, fringeTileData->repeatY); if (fringeTileData->width == -1 && fringeTileData->height == -1 && sprite->texture) { sprite->width = sprite->texture->width; sprite->height = sprite->texture->height; } else { sprite->width = fringeTileData->width; sprite->height = fringeTileData->height; } if (sprite->texture && (sprite->texture->repeatX || sprite->texture->repeatY)) { RefreshScale(); } else if (fringeTileData->atlasX != 0 || fringeTileData->atlasW != 0 || fringeTileData->atlasY != 0 || fringeTileData->atlasH != 0) { sprite->textureOffset = Vector2(fringeTileData->atlasX / (float)sprite->texture->width, fringeTileData->atlasY / (float)sprite->texture->height); sprite->textureScale = Vector2(fringeTileData->atlasW / (float)sprite->texture->width, fringeTileData->atlasH / (float)sprite->texture->height); } } }
void FringeTile::Update() { Entity::Update(); RefreshScale(); }