コード例 #1
0
bool RenderObject::render() {
	// Objektänderungen validieren
	validateObject();

	// Falls das Objekt nicht sichtbar ist, muss gar nichts gezeichnet werden
	if (!_visible)
		return true;

	// Falls notwendig, wird die Renderreihenfolge der Kinderobjekte aktualisiert.
	if (_childChanged) {
		sortRenderObjects();
		_childChanged = false;
	}

	// Objekt zeichnen.
	doRender();

	// Dann müssen die Kinder gezeichnet werden
	RENDEROBJECT_ITER it = _children.begin();
	for (; it != _children.end(); ++it)
		if (!(*it)->render())
			return false;

	return true;
}
コード例 #2
0
ファイル: renderobject.cpp プロジェクト: MaddTheSane/scummvm
void RenderObject::preRender(RenderObjectQueue *renderQueue) {
	// Objektänderungen validieren
	validateObject();

	if (!_visible)
		return;

	// Falls notwendig, wird die Renderreihenfolge der Kinderobjekte aktualisiert.
	if (_childChanged) {
		sortRenderObjects();
		_childChanged = false;
	}

	renderQueue->add(this);

	RENDEROBJECT_ITER it = _children.begin();
	for (; it != _children.end(); ++it)
		(*it)->preRender(renderQueue);

}