summaryrefslogtreecommitdiff
path: root/examples/n-patches/main.lua
diff options
context:
space:
mode:
authorjussi2023-12-19 02:02:26 +0200
committerjussi2023-12-19 02:02:26 +0200
commit9884c544bb2e9870bbda9607685bd478c9f3fda0 (patch)
treee77d4a39e7d5d9bbe38b5b08606d23639ea7f875 /examples/n-patches/main.lua
parent917ce853fcfb212e2343b6b2dac816b14ee50e46 (diff)
downloadreilua-enhanced-9884c544bb2e9870bbda9607685bd478c9f3fda0.tar.gz
reilua-enhanced-9884c544bb2e9870bbda9607685bd478c9f3fda0.tar.bz2
reilua-enhanced-9884c544bb2e9870bbda9607685bd478c9f3fda0.zip
DrawTextureNPatchRepeat.
Diffstat (limited to 'examples/n-patches/main.lua')
-rw-r--r--examples/n-patches/main.lua40
1 files changed, 31 insertions, 9 deletions
diff --git a/examples/n-patches/main.lua b/examples/n-patches/main.lua
index a4491bc..013a930 100644
--- a/examples/n-patches/main.lua
+++ b/examples/n-patches/main.lua
@@ -1,10 +1,19 @@
-local dstRec = { 160.0, 160.0, 8.0, 8.0 };
-local origin = { 0.0, 0.0 }
+package.path = package.path..";"..RL.GetBasePath().."../resources/lib/?.lua"
--- local ninePatchInfo = { { 0.0, 0.0, 24.0, 24.0 }, 8, 8, 8, 8, NPATCH_NINE_PATCH }
-local ninePatchInfo = { source = { 0, 0, 24.0, 24.0 }, left = 8, top = 8, right = 8, bottom = 8, layout = RL.NPATCH_NINE_PATCH }
+Vec2 = require( "vector2" )
+Rect = require( "rectangle" )
-local nPatchTexture = RL.LoadTexture( RL.GetBasePath().."../resources/images/ui_border.png" )
+local dstRec = Rect:new( 100.0, 100.0, 8.0, 8.0 )
+local origin = Vec2:new( 0.0, 0.0 )
+local stretched = true
+
+-- local ninePatchInfo = { source = { 0, 0, 24, 24 }, left = 8, top = 8, right = 8, bottom = 8, layout = RL.NPATCH_NINE_PATCH }
+-- local nPatchTexture = RL.LoadTexture( RL.GetBasePath().."../resources/images/ui_border.png" )
+
+local ninePatchInfo = { source = { 0, 0, 96, 96 }, left = 32, top = 32, right = 32, bottom = 32, layout = RL.NPATCH_NINE_PATCH }
+-- local ninePatchInfo = { source = { 0, 0, 96, 96 }, left = 32, top = 32, right = 32, bottom = 32, layout = RL.NPATCH_THREE_PATCH_VERTICAL }
+-- local ninePatchInfo = { source = { 0, 0, 96, 96 }, left = 32, top = 32, right = 32, bottom = 32, layout = RL.NPATCH_THREE_PATCH_HORIZONTAL }
+local nPatchTexture = RL.LoadTexture( RL.GetBasePath().."../resources/images/nPatch.png" )
function RL.init()
RL.SetWindowTitle( "N-Patches" )
@@ -12,14 +21,27 @@ function RL.init()
end
function RL.process( delta )
- local mousePosition = RL.GetMousePosition();
+ local mousePosition = Vec2:new( RL.GetMousePosition() )
-- Resize the n-patch based on mouse position
- dstRec[3] = mousePosition[1] - dstRec[1];
- dstRec[4] = mousePosition[2] - dstRec[2];
+ dstRec.width = mousePosition.x - dstRec.x;
+ dstRec.height = mousePosition.y - dstRec.y;
+
+ if RL.IsKeyPressed( RL.KEY_SPACE ) then
+ stretched = not stretched
+ end
end
function RL.draw()
RL.ClearBackground( RL.RAYWHITE )
- RL.DrawTextureNPatch( nPatchTexture, ninePatchInfo, dstRec, origin, 0.0, RL.WHITE )
+ local modeText = "Stretched"
+
+ if stretched then
+ RL.DrawTextureNPatch( nPatchTexture, ninePatchInfo, dstRec, origin, 0.0, RL.WHITE )
+ else
+ RL.DrawTextureNPatchRepeat( nPatchTexture, ninePatchInfo, dstRec, origin, 0.0, RL.WHITE )
+ modeText = "Repeat"
+ end
+
+ RL.DrawText( "Press space to toggle mode: "..modeText, { 20, 20 }, 20, RL.BLACK )
end