working heightmap shader?
This commit is contained in:
parent
43e1fda736
commit
fe15d3e8ca
15 changed files with 331 additions and 76 deletions
|
|
@ -80,32 +80,32 @@ void WindowWaylandWayland::Start() {
|
|||
thread = std::thread([this](){
|
||||
while (open && wl_display_dispatch(display) != -1) {
|
||||
wl_surface_attach(surface, buffer, 0, 0);
|
||||
for(UiElement* element : elements.components) {
|
||||
for(const UiElement& element : elements) {
|
||||
std::int32_t realX;
|
||||
std::int32_t realY;
|
||||
std::int32_t elementWidth;
|
||||
std::int32_t elementHeight;
|
||||
if(element->ignoreScaling) {
|
||||
if(element->useRelativeSize) {
|
||||
elementWidth = element->relativeWidth*width;
|
||||
elementHeight = element->relativeHeight*height;
|
||||
if(element.ignoreScaling) {
|
||||
if(element.useRelativeSize) {
|
||||
elementWidth = element.relativeWidth*width;
|
||||
elementHeight = element.relativeHeight*height;
|
||||
} else {
|
||||
elementWidth = element->absoluteWidth;
|
||||
elementHeight = element->absoluteHeight;
|
||||
elementWidth = element.absoluteWidth;
|
||||
elementHeight = element.absoluteHeight;
|
||||
}
|
||||
} else {
|
||||
if(element->useRelativeSize) {
|
||||
elementWidth = element->relativeWidth*width*scale;
|
||||
elementHeight = element->relativeHeight*height*scale;
|
||||
if(element.useRelativeSize) {
|
||||
elementWidth = element.relativeWidth*width*scale;
|
||||
elementHeight = element.relativeHeight*height*scale;
|
||||
} else {
|
||||
elementWidth = element->absoluteWidth*scale;
|
||||
elementHeight = element->absoluteHeight*scale;
|
||||
elementWidth = element.absoluteWidth*scale;
|
||||
elementHeight = element.absoluteHeight*scale;
|
||||
}
|
||||
}
|
||||
realX = (element->anchorX*width)-(element->anchorOffsetX*elementWidth);
|
||||
realY = (element->anchorY*height)-(element->anchorOffsetY*elementHeight);
|
||||
realX = (element.anchorX*width)-(element.anchorOffsetX*elementWidth);
|
||||
realY = (element.anchorY*height)-(element.anchorOffsetY*elementHeight);
|
||||
std::vector<Pixel_RU8_GU8_BU8_AU8> scaled(elementWidth*elementHeight);
|
||||
ScaleBitmapR8G8B8(scaled.data(), element->buffer.data(), element->bufferWidth, element->bufferHeight, elementWidth, elementHeight);
|
||||
ScaleBitmapR8G8B8(scaled.data(), element.buffer.data(), element.bufferWidth, element.bufferHeight, elementWidth, elementHeight);
|
||||
for(std::int32_t x = realX; x-realX < elementWidth; x++) {
|
||||
for(std::int32_t y = realY; y-realY < elementHeight; y++) {
|
||||
if(x > 0 && x < width && y > 0 && y < height) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue