Difference between revisions of "love.graphics.origin"

(Example)
(Note about love.draw.)
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
 
Resets the current coordinate transformation.
 
Resets the current coordinate transformation.
  
This function is always used to reverse any previous calls to [[love.graphics.rotate]], [[love.graphics.scale]], [[love.graphics.shear]] or [[love.graphics.translate]]. It returns the current transformation state to its defaults.
+
This function is always used to reverse any previous calls to [[love.graphics.rotate]], [[love.graphics.scale]], [[love.graphics.shear]] or [[love.graphics.translate]]. It restores the current transformation to its default state.
 +
 
 +
This function is called automatically right before [[love.draw]].
  
 
== Function ==
 
== Function ==
Line 18: Line 20:
 
local image = love.graphics.newImage("path_to_your_image")
 
local image = love.graphics.newImage("path_to_your_image")
 
function love.draw()
 
function love.draw()
  love.graphics.push()  -- stores the coordinate system
+
love.graphics.push()  -- stores the coordinate system
    love.graphics.scale(0.5, 0.5)  -- reduce everything by 50% in both X and Y coordinates
+
love.graphics.scale(0.5, 0.5)  -- reduce everything by 50% in both X and Y coordinates
    love.graphics.draw(image, 0, 0)  -- you can see a scaled image that you loaded on the left top of the screen.
+
love.graphics.draw(image, 0, 0)  -- you can see a scaled image that you loaded on the left top of the screen.
    love.graphics.print("Scaled text", 50, 50)  -- print half-sized text at 25x25
+
love.graphics.print("Scaled text", 50, 50)  -- print half-sized text at 25x25
    love.graphics.draw(image, 0, 0)   
+
love.graphics.draw(image, 0, 0)   
      love.graphics.push()
+
love.graphics.push()
      love.graphics.origin()  -- Rest the state to the defaults.
+
love.graphics.origin()  -- Reset the state to the defaults.
      love.graphics.draw(image, 0, 0) -- Draw the image on screen as if nothing was scaled.
+
love.graphics.draw(image, 0, 0) -- Draw the image on screen as if nothing was scaled.
    love.graphics.pop()  -- return to our scaled coordinate state.
+
love.graphics.pop()  -- return to our scaled coordinate state.
    love.graphics.print("Scaled text", 100, 100)  -- print half-sized text at 50x50
+
love.graphics.print("Scaled text", 100, 100)  -- print half-sized text at 50x50
  love.graphics.pop()  -- return to the previous stored coordinated
+
love.graphics.pop()  -- return to the previous stored coordinated
  love.graphics.print("Normal text", 50, 50)
+
love.graphics.print("Normal text", 50, 50)
 
end
 
end
 
</source>
 
</source>
Line 44: Line 46:
 
{{#set:Description=Resets the current coordinate transformation.}}
 
{{#set:Description=Resets the current coordinate transformation.}}
 
{{#set:Sub-Category=Coordinate System}}
 
{{#set:Sub-Category=Coordinate System}}
 +
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.graphics.origin}}
 
{{i18n|love.graphics.origin}}

Latest revision as of 18:30, 3 June 2022

Available since LÖVE 0.9.0
This function is not supported in earlier versions.

Resets the current coordinate transformation.

This function is always used to reverse any previous calls to love.graphics.rotate, love.graphics.scale, love.graphics.shear or love.graphics.translate. It restores the current transformation to its default state.

This function is called automatically right before love.draw.

Function

Synopsis

love.graphics.origin()

Arguments

None

Returns

Nothing.

Example

local image = love.graphics.newImage("path_to_your_image")
function love.draw()
	love.graphics.push()   -- stores the coordinate system
		love.graphics.scale(0.5, 0.5)   -- reduce everything by 50% in both X and Y coordinates
		love.graphics.draw(image, 0, 0)  -- you can see a scaled image that you loaded on the left top of the screen.
		love.graphics.print("Scaled text", 50, 50)   -- print half-sized text at 25x25
		love.graphics.draw(image, 0, 0)  
			love.graphics.push()
			love.graphics.origin()  -- Reset the state to the defaults.
			love.graphics.draw(image, 0, 0) -- Draw the image on screen as if nothing was scaled.
		love.graphics.pop()   -- return to our scaled coordinate state.
		love.graphics.print("Scaled text", 100, 100)   -- print half-sized text at 50x50
	love.graphics.pop()   -- return to the previous stored coordinated
	love.graphics.print("Normal text", 50, 50)
end

See Also


Other Languages