Commit Graph

559 Commits

Author SHA1 Message Date
Alex Szpakowski 970704c2b7 Added Text objects via love.graphics.newText(font [, textstring]). Reworked the internal code of Font objects to use fewer individual textures and less VRAM per object, and to be compatible with OpenGL ES. Slightly improved the performance of love.graphics.print and love.graphics.printf.
Text objects are Drawable objects that represent text on the screen. They decouple text drawing from text parsing and vertex uploading, in a similar manner to SpriteBatches. They also optionally allow efficient batching of text from the same Font in different relative coordinate transformations, without having many draw calls.

Text objects currently have the following methods:

Text:set(textstring) -- replaces any existing text in the object with the new string.
Text:setf(textstring, wraplimit, alignmode) -- replaces any existing text with formatted text using the new string.

Text:getFont() -- gets the Font object used for this Text object.
Text:getWidth() -- gets the width in pixels of the most recently added text in the Text object.
Text:getHeight() -- gets the height in pixels of the most recently added text in the Text object.

Text:add(textstring, x, y, angle, sx, sy, ox, oy, kx, ky) -- adds a new string to the text object using the specified relative coordinate transformation, without replacing existing text. This behaves much like SpriteBatch:add.
Text:addf(textstring, wraplimit, alignmode, x, y, angle, sx, sy, ox, oy, kx, ky) -- adds a new formatted string to the text object using the specified relative coordinate transformation.
Text:clear() -- clears all text from the object.

--HG--
branch : minor
2015-01-23 00:47:28 -04:00
Alex Szpakowski 5b98083e01 Merged default into minor
--HG--
branch : minor
2015-01-22 02:18:56 -04:00
Alex Szpakowski be8b7dd504 glLoadIdentity isn't part of GLES2+ or core GL3+.
--HG--
branch : minor
2015-01-21 21:42:24 -04:00
Alex Szpakowski e82d1dfe54 Added Lua 5.3's UTF-8 module to LÖVE. Resolves issue #951.
The module must be required before use, i.e. utf8 = require("utf8").  API documentation can be found here: http://www.lua.org/manual/5.3/manual.html#6.5

Removing the last unicode character in a string (for proper backspace support in text boxes, for example) can be done using utf8.offset, e.g. text = text:sub(1, utf8.offset(text, -1) - 1).
2015-01-21 16:52:56 -04:00
Alex Szpakowski dfdd52e499 Added support for ETC1 and PVR1 compressed textures contained in KTX, PKM, and PVR files.
Most desktop graphics drivers don't support those formats.

--HG--
branch : minor
2015-01-20 03:18:28 -04:00
Alex Szpakowski 1253e3aae1 Updated version to 0.10.0.
--HG--
branch : minor
2015-01-16 15:54:18 -04:00
Alex Szpakowski a7e4148869 Merged default into minor
--HG--
branch : minor
2015-01-16 15:47:26 -04:00
Alex Szpakowski 1b41d546e2 Removed a Mac-specific workaround from love.run (pumping events before love.load so that love.mouse.setPosition works before love.update.)
It seems to be no longer necessary, and it was a partial workaround anyway.
2015-01-10 18:44:58 -04:00
Alex Szpakowski c7b45b3505 Updated copyright for the new year 2014-12-31 19:32:43 -04:00
Anylo 426813945e Updated year from 2013 to 2014.
--HG--
branch : Anylo/updated-year-from-2013-to-2014-1418642961070
2014-12-15 11:29:26 +00:00
Alex Szpakowski 8dba668ce9 Merged default into minor
--HG--
branch : minor
2014-11-15 20:17:18 -04:00
Alex Szpakowski 22bbe74ed9 Allow BC6 and BC7 compressed DDS files to be loaded into Images. 2014-11-05 21:11:22 -04:00
Alex Szpakowski 5eb37d30f7 Cleaned up and simplified some graphics code.
--HG--
branch : minor
2014-10-26 15:31:32 -03:00
Alex Szpakowski 8d0654a6a7 Added runtime drag-and-drop file and folder support via new love.filedropped and love.directorydropped event callback functions. filedropped has a single File object argument, and directorydropped has a single string argument containing the full path of the directory, which can be used with love.filesystem.mount.
--HG--
branch : minor
2014-10-18 20:30:36 -03:00
Alex Szpakowski 8edb90a719 Added support for loading BMFont bitmap font files with love.graphics.newFont (see issue #190.) Some esoteric BMFont features are not supported.
Moved the Font module Lua wrapper code out of the freetype implementation folder.

--HG--
branch : minor
2014-09-28 16:00:40 -03:00
Alex Szpakowski 34688e929e Merged default into minor
--HG--
branch : minor
2014-09-28 15:56:04 -03:00
Alex Szpakowski c6b610d116 Cleaned up some code. 2014-09-21 19:50:02 -03:00
Alex Szpakowski 5f6ee50541 Replaced the GLee OpenGL function loader with a modified version of GLAD (resolves issue #728.)
--HG--
branch : minor
2014-08-18 21:35:52 -03:00
Alex Szpakowski fcf8329369 Fixed detection of TGA and BMP images and updated stb_image to the latest version.
--HG--
branch : minor
2014-08-11 03:11:51 -03:00
Alex Szpakowski a757315006 Removed runtime support for Mac OS 10.6 and switched from libstdc++ to libc++ in OS X. Now we can use C++11's standard library!
--HG--
branch : minor
2014-08-08 18:54:12 -03:00
Alex Szpakowski 88211ede8f Merged default into minor
--HG--
branch : minor
2014-07-13 20:26:51 -03:00
Alex Szpakowski 0841ff209b license.txt is now distributed with the OS X build of LÖVE in love.app/Contents/Resources/. 2014-07-10 20:54:35 -03:00
Alex Szpakowski 56653fa946 Merged default into minor
--HG--
branch : minor
2014-06-19 15:06:59 -03:00
Alex Szpakowski 738cc01468 Increased version to 0.9.2. 2014-06-18 19:05:43 -03:00
Bart van Strien c5d59107ad Modify desktop file to play nicer with file associations in newer versions of nautilus (gnome file browser) 2014-06-18 10:59:32 +02:00
Alex Szpakowski 3792dee4b4 Backout changeset 57172a7f03452a6b07f346e850f3e1020e230f46 2014-06-05 14:59:29 -03:00
Alex Szpakowski e9e303c1e8 Changed embedded Lua scripts to be included in the love source via C++11's raw string literals instead of a generated header file. Removed auto.lua.
As a result, love can be compiled immediately after editing an embedded Lua script.

Visual Studio 2013 or newer is required for C++11 raw string literals in Windows.
2014-06-05 13:42:03 -03:00
Alex Szpakowski bfa3ec9369 Merged default into minor
--HG--
branch : minor
2014-06-05 03:02:50 -03:00
Alex Szpakowski 10e0d4b900 Moved the love.joystick Lua wrapper code from modules/joystick/sdl/ to modules/joystick/. 2014-06-04 16:23:39 -03:00
Alex Szpakowski 724bdbd296 love.graphics.newImage, love.image.newImageData, etc. no longer leave Lua-owned FileData objects floating around waiting to be GC'd when called with filename arguments, resulting in less memory use on startup (resolves issue #890.)
Moved love.filesystem Lua wrapper code from src/modules/filesystem/physfs/ to src/modules/filesystem/.
2014-06-02 00:22:41 -03:00
Alex Szpakowski 51d1f2a7a9 Added support for loading TGA and BMP images (via stb_image.) Added support for encoding ImageData to TGA.
--HG--
branch : minor
2014-05-29 13:20:10 -03:00
Alex Szpakowski 38b65b859a Merged default into minor
--HG--
branch : minor
2014-05-03 22:27:01 -03:00
Bart van Strien 853f741ba3 Prevent erroring in gen-modules when no source files are found (needed in some
love-experiments branches)
2014-04-25 17:53:38 +02:00
Alex Szpakowski eca8c17a69 Removed the DevIL backend from love.image. Replaced it with PNG and JPEG encoders/decoders via LodePNG, zlib, and libjpeg-turbo.
PNG and JPEG are now the only two supported image formats, aside from compressed DDS (DXT, etc.)

--HG--
branch : minor
2014-04-22 17:11:59 -03:00
Alex Szpakowski b5ad14ccb1 Removed platform/msvc2010/* 2014-04-11 04:15:21 -03:00
Alex Szpakowski b98e6add18 Fixed version description for the windows executable 2014-04-09 14:27:14 -03:00
Bart van Strien a1158599ab Use '=' instead of '==' for test command in configure scripts (fixes #866) 2014-04-01 16:54:51 +02:00
Alex Szpakowski 38497d23da Added love.system.openURL (resolves issue #863) 2014-03-31 16:13:05 -03:00
Bart van Strien 2698fd2c2c Use debian's name for libsdl2 in the debian package dependency list 2014-03-30 14:15:36 +02:00
Alex Szpakowski 4faddcd9aa Fixed some trivial compiler warnings 2014-03-12 17:55:19 -03:00
Alex Szpakowski 314a528996 Fixed loading BC4 compressed textures 2014-03-10 21:36:14 -03:00
Alex Szpakowski a3afb1a9ca Refactored the ImageData decoding/encoding backends a bit 2014-03-02 03:17:47 -04:00
Bart van Strien e92be92900 Add fused and version flags to love manpage 2014-02-16 13:19:59 +01:00
Bart van Strien c2971f9568 Distribute associations, icons and manpages in the deb package 2014-02-16 09:59:27 +01:00
Alex Szpakowski 0f9bf64cf8 Xcode project: added new build scheme ‘Distribution’, moved LTO from ‘Release’ to ‘Distribution’ 2014-01-27 19:04:12 -04:00
Alex Szpakowski 0da21a430a Mac: enabled link-time optimization for Release builds of love 2014-01-27 18:44:00 -04:00
Alex Szpakowski 10f1e23931 Increased version to 0.9.1 2014-01-22 18:26:10 -04:00
Alex Szpakowski 510ed6f11e Abstracted lua bindings for general Texture methods into wrap_Texture.cpp 2014-01-04 21:19:03 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski aa69a695d3 Canvases can now be used in SpriteBatches, ParticleSystems, and Meshes (resolves issue #782).
Canvases and Images are now subclasses of the new Texture class.
Added setTexture and getTexture methods for Meshes, ParticleSystems, and SpriteBatches (the old set/getImage methods are deprecated but not removed.)
Canvas texture coordinates are no longer flipped.
2014-01-03 17:07:12 -04:00