コード例 #1
0
ファイル: checkbox.cpp プロジェクト: farmboy0/xoreos
void WidgetCheckBox::load(const Aurora::GFF3Struct &gff) {
	KotORWidget::load(gff);

	Border border = createBorder(gff);
	Graphics::Aurora::TextureHandle texture = TextureMan.get(border.fill);

	float squareLength = _quad->getHeight();
	float _quadPosCorrect = (squareLength - (texture.getTexture().getHeight() * 0.625f)) / 2;
	float x, y, z;
	if (_quad) {
		_quad->getPosition(x, y, z);
		_quad->setPosition(x + _quadPosCorrect, y + _quadPosCorrect, z);
		_quad->setHeight(texture.getTexture().getHeight() * 0.625f);
		_quad->setWidth(texture.getTexture().getWidth() * 0.625f);
	}
	if (_text) {
		_text->getPosition(x, y, z);
		_text->setPosition(x + squareLength, y, z);
		_text->setSize(_text->getWidth() - squareLength, _text->getHeight());
	}

	if (getTextHighlightableComponent() != 0) {
		setTextHighlighting(getTextHighlightableComponent());
	}
	if (getQuadHighlightableComponent() != 0) {
		setQuadHighlighting(getQuadHighlightableComponent());
	}
}
コード例 #2
0
ファイル: button.cpp プロジェクト: DeejStar/xoreos
void WidgetButton::load(const Aurora::GFFStruct &gff) {
	KotORWidget::load(gff);
	if (getTextHighlightableComponent() != 0) {
		  setDefaultHighlighting(getTextHighlightableComponent());
	}
	if (getQuadHighlightableComponent() != 0) {
		  setDefaultHighlighting(getQuadHighlightableComponent());
	}
}
コード例 #3
0
ファイル: checkbox.cpp プロジェクト: farmboy0/xoreos
void WidgetCheckBox::leave() {
	SoundMan.stopChannel(_sound);
	if (getTextHighlightableComponent() && getTextHighlightableComponent()->isHighlightable()) {
		_text->setHighlighted(false);
		_text->setColor(_unselectedR, _unselectedG, _unselectedB, _unselectedA);
	}
	if (getQuadHighlightableComponent() && getQuadHighlightableComponent()->isHighlightable()) {
		getQuadHighlightableComponent()->setHighlighted(false);
		_quad->setColor(_unselectedR, _unselectedG, _unselectedB, _unselectedA);
	}
}
コード例 #4
0
ファイル: checkbox.cpp プロジェクト: clone2727/xoreos
void WidgetCheckBox::load(const Aurora::GFF3Struct &gff) {
	gff.getVector("COLOR", _r, _g, _b);
	_a = gff.getDouble("ALPHA", 1.0);

	Extend extend = createExtend(gff);

	_width  = extend.w;
	_height = extend.h;

	Widget::setPosition(extend.x, extend.y, 0.0f);

	Border border = createBorder(gff);

	if (!border.fill.empty()) {
		_quad = new Graphics::Aurora::HighlightableGUIQuad(border.fill, 0.0f, 0.0f, extend.h * .62, extend.h * .62);
	} else {
		_quad = new Graphics::Aurora::GUIQuad(border.fill, 0.0f, 0.0f, extend.h * .62, extend.h * .62);
	}

	_quad->setPosition(extend.x, extend.y, 0.0f);
	_quad->setTag(getTag());
	_quad->setClickable(true);

	if (border.fill.empty())
		_quad->setColor(0.0f, 0.0f, 0.0f, 0.0f);

	Text text = createText(gff);

	if (!text.text.empty() && !text.font.empty()) {
		_text = new Graphics::Aurora::HighlightableText(FontMan.get(text.font), text.text,
		                                   text.r, text.g, text.b, 1.0f);

		const float hspan = extend.w - _text->getWidth();
		const float vspan = extend.h - _text->getHeight();


		const float x = extend.x + text.halign * hspan;
		const float y = extend.y + text.valign * vspan;

		_text->setPosition(x, y, -1.0f);
		_text->setTag(getTag());
		_text->setClickable(true);
	}

	if (getTextHighlightableComponent() != 0) {
		  setDefaultHighlighting(getTextHighlightableComponent());
	}
	if (getQuadHighlightableComponent() != 0) {
		  setDefaultHighlighting(getQuadHighlightableComponent());
	}
}
コード例 #5
0
ファイル: checkbox.cpp プロジェクト: farmboy0/xoreos
void WidgetCheckBox::enter() {
	float r, g, b, a;
	_sound = playSound("gui_actscroll", Sound::kSoundTypeSFX);
	if (getTextHighlightableComponent() && getTextHighlightableComponent()->isHighlightable()) {
		_text->getColor(_unselectedR, _unselectedG, _unselectedB, _unselectedA);
		_text->getHighlightedLowerBound(r, g, b, a);
		_text->setColor(r, g, b, a);
		_text->setHighlighted(true);
	}

	if (getQuadHighlightableComponent() && getQuadHighlightableComponent()->isHighlightable()) {
		_quad->getColor(_unselectedR, _unselectedG, _unselectedB, _unselectedA);
		getQuadHighlightableComponent()->getHighlightedLowerBound(r, g, b, a);
		_quad->setColor(r, g, b, a);
		getQuadHighlightableComponent()->setHighlighted(true);
	}

}
コード例 #6
0
ファイル: label.cpp プロジェクト: berenm/xoreos
void WidgetLabel::enableHighlight() {
	Graphics::Aurora::Highlightable *highlightable = getTextHighlightableComponent();
	if (highlightable) {
		highlightable->setHighlightable(true);
		highlightable->setHighlightDelta(0, 0, 0, .05);
		highlightable->setHighlightLowerBound(1, 1, 0, .2);
		highlightable->setHighlightUpperBound(1, 1, 0, 1);
	}
}
コード例 #7
0
ファイル: button.cpp プロジェクト: mirv-sillyfish/xoreos
void WidgetButton::load(const Aurora::GFF3Struct &gff) {
	Widget::load(gff);

	Graphics::Aurora::Highlightable *highlightable = getTextHighlightableComponent();
	if (highlightable)
		setDefaultHighlighting(highlightable);

	highlightable = getQuadHighlightableComponent();
	if (highlightable)
		setDefaultHighlighting(highlightable);
}