static bool cmp(const spNativeTexture& t2, const spNativeTexture& t1) { if (t1->getFormat() > t2->getFormat()) return true; if (t1->getWidth() > t2->getWidth()) return true; return t1->getHeight() > t2->getHeight(); }
bool operator()(const spNativeTexture& t1, const spNativeTexture& t2) const { if (t1->getFormat() < _tf) return true; if (t1->getWidth() < _w) return true; return t1->getHeight() < _h; }
bool RenderTargetsManager::isGood(const spNativeTexture& t, int w, int h, TextureFormat tf) const { if (!t) return false; if (!t->getHandle()) return false; if (t->getFormat() == tf && t->getWidth() >= w && t->getHeight() >= h && t->getWidth() <= (w + ALIGN_SIZE) && t->getHeight() <= (h + ALIGN_SIZE)) return true; return false; }
TextureLine(spNativeTexture t) { setVerticalMode(Box9Sprite::TILING_FULL); setHorizontalMode(Box9Sprite::TILING_FULL); Sprite::setResAnim(DebugActor::resSystem->getResAnim("checker")); AnimationFrame f; Vector2 s = fitSize(itemSize, Vector2((float)t->getWidth(), (float)t->getHeight())); setSize(s); Diffuse df; df.base = t; f.init(0, df, RectF(0, 0, 1.0f, 1.0f), RectF(0, 0, s.x, s.y), s); spSprite image = initActor(new Sprite, arg_blend = blend_disabled, arg_resAnim = f); addChild(image); spColorRectSprite rect = initActor(new ColorRectSprite, arg_color = Color(Color::White, 255), arg_attachTo = this); rect->addTween(Sprite::TweenColor(Color(Color::White, 0)), 4000, -1, true); char path[255]; path::normalize(t->getName().c_str(), path); char txt[255]; safe_sprintf(txt, "%s\n<div c=\"FF0000\">%s</div>-<div c=\"0000ff\">%dx%d</div>\nid: %d", path, textureFormat2String(t->getFormat()), t->getWidth(), t->getHeight(), t->getObjectID()); spTextField text = initActor(new TextField, arg_color = Color::Black, arg_w = (float)itemSize.x, arg_vAlign = TextStyle::VALIGN_TOP, arg_hAlign = TextStyle::HALIGN_LEFT, arg_multiline = true, arg_attachTo = rect, arg_htmlText = txt ); text->setBreakLongWords(true); rect->setSize(text->getTextRect().size.cast<Vector2>() + Vector2(2, 2)); rect->setY((itemSize.y - rect->getHeight()) / 2.0f); }
void load_texture_internal(const std::string &file, spNativeTexture nt, LoadResourcesContext *load_context) { ImageData im; spMemoryTexture mt = new MemoryTexture; LOGD("loading atlas: %s", file.c_str()); file::buffer bf; file::read(file.c_str(), bf); LOGD("atlas file loaded: %s", file.c_str()); mt->init(bf, Renderer::getPremultipliedAlphaRender(), nt->getFormat()); //mt->init(2048, 2048, TF_R8G8B8A8); im = mt->lock(); LOGD("atlas size: %d %d", im.w, im.h); //Object::dumpCreatedObjects(); load_context->createTexture(mt, nt); }
void load_texture_internal(const std::string& file, spNativeTexture nt, bool linearFilter, bool clamp2edge, LoadResourcesContext* load_context) { ImageData im; spMemoryTexture mt = new MemoryTexture; LOGD("loading atlas: %s", file.c_str()); file::buffer bf; file::read(file.c_str(), bf); LOGD("atlas file loaded: %s", file.c_str()); mt->init(bf, true, nt->getFormat()); im = mt->lock(); LOGD("atlas size: %d %d", im.w, im.h); CreateTextureTask opt; opt.src = mt; opt.dest = nt; opt.linearFilter = linearFilter; opt.clamp2edge = clamp2edge; load_context->createTexture(opt); }