Add size getter and pass size and color to gui

This commit is contained in:
sylvass
2022-01-25 09:33:02 -05:00
parent a07b4a5afe
commit dbd69cdd73
5 changed files with 19 additions and 1 deletions

View File

@@ -95,6 +95,7 @@ public:
std::string browserGuiName() const;
std::string browserId() const;
std::string targetId() const;
glm::vec2 size() const;
// Getters by reference
ScreenSpaceSkyTarget* getTarget();

View File

@@ -33,6 +33,7 @@ namespace openspace {
// Getters
float opacity() const;
glm::vec2 size() const;
// Setters
void setVerticalFovWithScroll(float scroll);

View File

@@ -378,6 +378,10 @@ int getTargetData(lua_State* L) {
glm::ivec3 color = pair->borderColor();
std::vector<int> colorVec = { color.r, color.g, color.b };
// Convert color to vector so ghoul can read it
glm::vec2 size = pair->size();
std::vector<float> sizeVec = { size.x, size.y };
ghoul::lua::push(L, id);
lua_newtable(L);
// Push ("Key", value)
@@ -399,6 +403,8 @@ int getTargetData(lua_State* L) {
lua_settable(L, -3);
ghoul::lua::push(L, "isLocked", pair->isLocked());
lua_settable(L, -3);
ghoul::lua::push(L, "size", sizeVec);
lua_settable(L, -3);
// Set table for the current target
lua_settable(L, -3);

View File

@@ -207,6 +207,11 @@ namespace openspace {
return _target->identifier();
}
glm::vec2 Pair::size() const
{
return _browser->size();
}
float Pair::verticalFov() const
{
return _browser->verticalFov();

View File

@@ -266,7 +266,8 @@ namespace openspace {
}
void ScreenSpaceSkyBrowser::setScreenSpaceSize(const glm::vec2& newSize)
{
{
_size = newSize;
_scale = abs(newSize.y) * 0.5f;
glm::vec2 newSizeRelToOld = abs((screenSpaceDimensions() + newSize) /
screenSpaceDimensions());
@@ -284,4 +285,8 @@ namespace openspace {
float ScreenSpaceSkyBrowser::opacity() const {
return _opacity;
}
glm::vec2 ScreenSpaceSkyBrowser::size() const
{
return _size;
}
}