Transparency demo.
This commit is contained in:
@@ -30,5 +30,12 @@ namespace JUI
|
||||
|
||||
void Draw() override;
|
||||
void Update(float delta) override;
|
||||
|
||||
|
||||
bool FitImageToParent() const;
|
||||
void FitImageToParent(bool on);
|
||||
|
||||
protected:
|
||||
bool fit_image_to_parent;
|
||||
};
|
||||
}
|
7
main.cpp
7
main.cpp
@@ -132,10 +132,7 @@ JUI::Scene* CreateScene() {
|
||||
//win_element->SetPadding(1_px);
|
||||
// End Window //
|
||||
|
||||
auto darkie = new Image(root, sample_texture);
|
||||
|
||||
darkie->SetPosition({25_percent, 25_percent});
|
||||
darkie->SetSize({25_percent, 25_percent});
|
||||
|
||||
auto list = new VerticalListLayout(win_element->GetViewportInstance());
|
||||
list->SetPadding(10_px);
|
||||
@@ -179,6 +176,9 @@ JUI::Scene* CreateScene() {
|
||||
text->SetTextSize(48);
|
||||
text->SetTextColor({255, 0, 0});
|
||||
|
||||
auto darkie = new Image(root, sample_texture);
|
||||
darkie->FitImageToParent(true);
|
||||
darkie->Color({255,255,255,128});
|
||||
|
||||
root->SetViewportSize(800, 600);
|
||||
|
||||
@@ -212,6 +212,7 @@ public:
|
||||
void OnRefresh(float elapsed) override {
|
||||
Update();
|
||||
JGL::Update(getSize());
|
||||
scene->SetViewportSize(getSize().x, getSize().y);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
|
@@ -28,11 +28,25 @@ namespace JUI
|
||||
void Image::Draw() {
|
||||
// TODO: Factor in margin?
|
||||
|
||||
ImageBase::Draw(GetAbsolutePosition(), GetAbsoluteSize());
|
||||
if (fit_image_to_parent)
|
||||
{
|
||||
auto old_scale = scale;
|
||||
scale = GetAbsoluteSize() / texture->GetDimensions();
|
||||
ImageBase::Draw(GetAbsolutePosition(), GetAbsoluteSize());
|
||||
scale = old_scale;
|
||||
} else
|
||||
{
|
||||
ImageBase::Draw(GetAbsolutePosition(), GetAbsoluteSize());
|
||||
}
|
||||
|
||||
Widget::Draw();
|
||||
}
|
||||
|
||||
void Image::Update(float delta) {
|
||||
Widget::Update(delta);
|
||||
}
|
||||
|
||||
bool Image::FitImageToParent() const { return fit_image_to_parent; }
|
||||
|
||||
void Image::FitImageToParent(bool on) { fit_image_to_parent = on; }
|
||||
}
|
Reference in New Issue
Block a user