================================================ Version 11.3 - Alpha (Apr 28 - 2020) ================================================ [CHANGED] String functions len, sub, gsub, find replaced with utf8 versions [ADDED] New properties: skin.controls.smallfont and skin.controls.imagebuttonfont ================================================ Version 11.2 - Alpha (Mar 6 - 2019) ================================================ [ADDED] New functions button.SetImage and button.GetImage [ADDED] LoveFrames Demo [ADDED] New Default skin with subskins [FIXED] Colors as numbers [CHANGED] Massive internal update and cleaning by ingsoc451 (https://love2d.org/forums/memberlist.php?mode=viewprofile&u=137519) [CHANGED] Require system [CHANGED] loveframes.util and loveframes.templates functions moved to loveframes [CHANGED] utf8 moved to third-party ================================================ Version 11.0 - Alpha (Apr 15 - 2018) ================================================ [FIXED] updated to LÖVE 11.0 ================================================ Version 0.10.1 - Alpha (Nov 13 - 2016) ================================================ [ADDED] a new property: image.stretch (boolean) [ADDED] a new property: button.image (image) -- left aligned image [ADDED] new properties: button.groupIndex (int) and button.checked (boolean) [ADDED] new properties: imagebutton.groupIndex (int) and imagebutton.checked (boolean) [ADDED] a new property: checkbox.groupIndex [ADDED] a new function: wheelmoved [FIXED] textinput - Unicode support [FIXED] Update for LÖVE 0.10.1 [FIXED] Update stencil calls ================================================ Version 0.10 - Alpha (Release Date TBD) ================================================ [ADDED] a new object: tree [ADDED] a new object: radiobutton [ADDED] a new button method: GetDown() [ADDED] support for relative object sizing [ADDED] a new columnlist method: GetCellText(rowid, columnid) [ADDED] a new button method: SetToggleable(bool) [ADDED] a new button method: GetToggleable() [ADDED] toggle functionality to the button object [ADDED] resizing functinality to the columnlistheader object [ADDED] horizontal scrolling to the columnlist object [ADDED] a new columnlistarea method: GetVerticalScrollBody() [ADDED] a new columnlistarea method: GetHorizontalScrollBody() [ADDED] a new columnlist method: GetTotalColumnWidth() [ADDED] a new columnlist method: SetColumnWidth(id, width) [ADDED] a new columnlist method: GetColumnWidth(id) [ADDED] a new columnlist method: ResizeColumns() [ADDED] a new columnlist method: SetDefaultColumnWidth(width) [ADDED] a new columnlist method: GetDefaultColumnWidth() [ADDED] a new columnlist method: SetColumnResizeEnabled(bool) [ADDED] a new columnlist method: GetColumnResizeEnabled() [ADDED] a new columnlist method: SizeColumnToData() [ADDED] a new columnlist method: SetColumnOrder(curid, newid) [ADDED] a new columnlistheader method: SetName(name) [ADDED] a new scrollbody method: GetScrollBar() [ADDED] a new scrollbar method: ScrollTo(percent) [ADDED] a new frame method: SetMaxSize(width, height) [ADDED] a new frame method: GetMaxSize() [ADDED] a new frame method: SetMinSize(width, height) [ADDED] a new frame method: GetMinSize() [ADDED] a new textinput method: ClearLine(line) [ADDED] a new textinput method: SetTrackingEnabled(bool) [ADDED] a new textinput method: GetTrackingEnabled() [ADDED] a new list method: GetAutoScroll() [FIXED] bug that would cause tabbuttons to be positioned incorrectly when scrolling with the mouse wheel [FIXED] collision detection issue caused by list child objects not being updated when outside of their parent's bounding box [FIXED] checkbox text becoming invisible when calling checkbox:SetText after switching to a custom state [FIXED] an error caused by calling base:MoveToTop on an object parented to a panel object [FIXED] nested list positioning issues [FIXED] textinput.alltextselected being set to true when calling the SelectAll method on an empty single-line textinput [FIXED] a bug that allowed frames to be resized when they where not being hovered [FIXED] text:GetLines always returning nil [FIXED] creating a newline in a multiline textinput with the return key would not reset the object's xoffset [FIXED] the last character of a long line in a multiline textinput not being shown due to a text offset calculation issue [FIXED] scrollbody now resizes to parent [FIXED] textinput indicator now always visible [FIXED] columnlist rows can have non-drawable extra info ("Blue" skin doesn't crash on it) [CHANGED] columnlist row colors are now adjusted when a row is removed from the list [CHANGED] columnlistarea.rowcolorindex now resets to 1 when the list is cleared [CHANGED] columnlist:SetRowColumnText to columnlist:SetCellText [CHANGED] columnlist:AdjustColumns to columnlist:PositionColumns [CHANGED] license to zlib/libpng [CHANGED] the loveframes table is now returned by init.lua [CHANGED] template files are now expected to return a template table instead of calling loveframes.templates.Register [CHANGED] textinput tries to scroll horizontally only if alt is pressed [CHANGED] project-wide utf8 support [CHANGED] the textinput's indicator is now always visible when being moved ================================================ Version 0.9.8.1 - Alpha (May 17 - 2014) ================================================ [ADDED] ability to specify a custom skin directory in a skin's lua file [FIXED] frame:MakeTop not returning self in certain situations [FIXED] ability to insert tabs into a textinput when all of the object's text was selected [FIXED] ability to cause a single-line textinput to enter all text selected mode when no text had been entered [CHANGED] returning false in a frame.OnClose event callback will prevent the frame from being removed [CHANGED] tabs:AddTab now returns the tabbutton object associated with the new tab ================================================ Version 0.9.8 - Alpha (April 3 - 2014) ================================================ [ADDED] support for method chaining [ADDED] a new tooltip method: GetPadding() [ADDED] a new frame method: SetAlwaysOnTop(bool) [ADDED] a new frame method: GetAlwaysOnTop() [FIXED] text object link detection issues [FIXED] loveframes.util.GetDirectoryContents returning incorrect require paths [CHANGED] the text object will now detect newlines that are not separated by spaces [REMOVED] support for LOVE 0.8.0 ================================================ Version 0.9.7.2 - Alpha (January 29 - 2014) ================================================ [ADDED] a new closebutton method: SetAutoPosition(bool) [ADDED] a new closebutton method: GetAutoPosition() [ADDED] checkbox skin directives [FIXED] ability to use the tab button in numberbox textinputs [FIXED] text width being calculated incorrectly when max width was set to 0 [FIXED] base menus can no longer extend beyond the boundaries of the application window [CHANGED] minor performance improvements for the following objects: list, columnlistarea, tabs [CHANGED] closebuttons are now automatically positioned by default [CHANGED] optimized loveframes.util.TableHasKey (thanks CyaNox) ================================================ Version 0.9.7.1 - Alpha (January 15 - 2014) ================================================ [ADDED] a new tooltip method: GetOffsetX() [ADDED] a new tooltip method: GetOffsetY() [ADDED] a new tooltip method: GetOffsets() [ADDED] a new tooltip method: GetFollowCursor() [ADDED] a new tooltip method: GetObject() [ADDED] a new tooltip method: GetFont() [ADDED] a new tooltip method: GetFollowObject() [CHANGED] Moved library files to /libraries [CHANGED] Upgraded to middleclass 3.0.1 ================================================ Version 0.9.7 - Alpha (January 12 - 2014) ================================================ [ADDED] a new base method: textinput(text) [ADDED] a new frame method: SetResizable(bool) [ADDED] a new frame method: GetResizable() [ADDED] a new frame method: SetMinWidth(width) [ADDED] a new frame method: GetMinWidth() [ADDED] a new frame method: SetMaxWidth(width) [ADDED] a new frame method: GetMaxWidth() [ADDED] a new frame method: SetMinHeight(height) [ADDED] a new frame method: GetMinHeight() [ADDED] a new frame method: SetMaxHeight(height) [ADDED] a new frame method: GetMaxHeight() [ADDED] a new progressbar method: SetText(text) [ADDED] a new progressbar method: GetText() [ADDED] a new tabs method: SetButtonAreaX(x) [ADDED] a new tabs method: GetButtonAreaX() [ADDED] a new tabs method: SetButtonAreaWidth(width) [ADDED] a new tabs method: GetButtonAreaWidth() [ADDED] a new tabs method: SetAutoButtonAreaWidth(bool) [ADDED] a new tabs method: GetAutoButtonAreaWidth() [ADDED] a new text method: SetLinksEnabled(enabled) [ADDED] a new text method: GetLinksEnabled() [ADDED] a new text method: SetDetectLinks(detect) [ADDED] a new text method: GetDetectLinks() [ADDED] a new textinput method: Copy() [ADDED] a new textinput method: Paste() [ADDED] a new textinput method: SelectAll() [ADDED] a new textinput method: DeselectAll() [ADDED] a new textinput method: SetMasked(masked) [ADDED] a new textinput method: GetMasked() [ADDED] a new textinput method: SetMaskChar(char) [ADDED] a new textinput method: GetMaskChar() [ADDED] a new textinput method: SetPlaceholderText(text) [ADDED] a new textinput method: GetPlaceholderText() [ADDED] a new tooltip method: SetOffsetX(xoffset) [ADDED] a new tooltip method: SetOffsetY(yoffset) [ADDED] a new tooltip method: GetText() [ADDED] a new text event callback: OnClickLink(object, text) [ADDED] a new frame event callback: OnResize(object, width, height) [ADDED] a new util library function: TableHasValue(table, value) [ADDED] a new util library function: GetHoverObject() [ADDED] a new callback: textinput(text) [ADDED] a new object: form [ADDED] a new object: menu [ADDED] a new skin drawing function: DrawOverTabPanel(object) [ADDED] basic clipboard support for the textinput object (0.9.0 only) [ADDED] custom cursor support for the textinput object [ADDED] support for love.filesystem changes to loveframes.util.GetDirectoryContents (0.9.0 only) [ADDED] support for text object link processing [ADDED] loveframes.downobject [ADDED] skin directives for the text object [ADDED] functionality for resizing frames [FIXED] error when pressing a function key while a textinput was focused [FIXED] the tooltip object not setting the state of its text object [FIXED] the text object not being set to the correct width in certain situations [FIXED] textinput:GetText appending an extra newline to then end of the text string [FIXED] text processing issues with the textinput object (0.9.0 only) [FIXED] text positioning issues when moving the textinput's indicator with the left and right arrow keys [FIXED] textinput character limit blocking user input when all text was selected [CHANGED] cleaned up the tooltip object [CHANGED] upgraded to middleclass 3.0 [CHANGED] loveframes.hoverobject is now used to store the currently hovered object [CHANGED] textinput:SetText now repositions the object's indicator [CHANGED] reworked the collision detection system for MAJOR performance improvements [CHANGED] text object formatting options are now specified in a single table rathar than as individual arguments [CHANGED] text can now be specified as a link via text formatting options [CHANGED] text formatting options now support link colors [REMOVED] base:IsTopCollision ================================================ Version 0.9.6.3 - Alpha (August 15 - 2013) ================================================ [CHANGED] the collapsible category icons used in the stock skins [REMOVED] loveframes.info ================================================ Version 0.9.6.2 - Alpha (August 14 - 2013) ================================================ [FIXED] collapsiblecategory:GetOpen() returning a nil value [CHANGED] loveframes.util.RemoveAll() now resets loveframes.hoverobject, loveframes.modalobject, loveframes.inputobject and loveframes.hover [CHANGED] the frame topbar image of both stock skins back to the gradients used before the 0.9.6 update [CHANGED] the stock skins now draw a gradient for the body of the frame object instead of a solid color [CHANGED] slight color/drawing adjustments to the blue stock skin [CHANGED] the collapsiblecategory object now checks its child object's visibility while closed to make sure it hasn't been marked as visible (mainly to prevent collision issues) [REMOVED] examples menu from the debug library [REMOVED] skin selector menu from the debug library [REMOVED] many skin controls from the orange stock skin that are no longer needed ================================================ Version 0.9.6.1 - Alpha (August 12 - 2013) ================================================ [FIXED] blue stock skin setting an invalid image directory in its skin file ================================================ Version 0.9.6 - Alpha (August 12 - 2013) ================================================ [ADDED] a new base method: GetSkinName() [ADDED] a new frame method: SetDockable(dockable) [ADDED] a new frame method: GetDockable() [ADDED] a new frame method: SetDockZoneSize(size) [ADDED] a new frame method: GetDockZoneSize() [ADDED] a new columnlist method: RemoveColumn(id) [ADDED] a new columnlist method: SetColumnName(id, name) [ADDED] a new columnlist method: RemoveRow(id) [ADDED] a new columnlist method: SetRowColumnText(text, rowid, columnid) [ADDED] a new columnlist method: SetRowColumnData(rowid, columndata) [ADDED] a new columnlist method: SizeToChildren(max) [ADDED] a new frame event callback: OnDock(object, dockobject) [ADDED] a new tabs method: SetTabObject(id, object) [ADDED] a new util library function: RectangleCollisionCheck(rect1, rect2) [ADDED] a new util library function: DeepCopy(orig) [ADDED] a new skins library function: Get(name) [ADDED] a new skins library function: SetControl(name, control, value) [ADDED] a new skins library function: SetImage(name, image, value) [ADDED] a new skins library function: SetImageDirectory(name, dir) [ADDED] a new skins library function: ReloadImages(name) [ADDED] docking functionality for frame objects [ADDED] skins can now define a separate skin to use as a base via skin.base [ADDED] skins can now load images from external directories via the skin.imagedir setting (defaults to loveframes/skins/skin_name/images) [ADDED] compatibility for LOVE 0.9.0 [CHANGED] scroll buttons for the tabs object are no longer removed and re-created everytime a new tab is added [CHANGED] base:GetSkin() now returns the skin's table instead of the skin's name [CHANGED] the frame topbar image of both stock skins to a different gradient [FIXED] columnlist:GetSelectedRows() returning a nil value [FIXED] syntax typo in textinput:RemoveFromText() (was textinput:RemoveFromeText()) [FIXED] object creation via datatables [FIXED] multichoice:SelectChoice(choice) causing an error if called when a multichoice list was not open [FIXED] multichoice object value not being reset when calling multichoice:Clear() [FIXED] an error that would occurred when attempting to scroll a tabs object with the scroll wheel when the object had no tabs [FIXED] colunlist:AddRow not working correctly with LuaJIT versions of LOVE [REMOVED] drawing code from the orange stock skin (now inherits from the blue stock skin) ================================================ Version 0.9.5.14 - Alpha (June 25 - 2013) ================================================ [FIXED] columnlistheaders and columnlistrows not being clickable when the columnlist object was using a custom state ================================================ Version 0.9.5.13 - Alpha (June 24 - 2013) ================================================ [FIXED] tabbuttons not being clickable when the tabs object was using a custom state ================================================ Version 0.9.5.12 - Alpha (June 10 - 2013) ================================================ [ADDED] a new columnlist method: SelectRow(row, ctrl) [ADDED] a new columnlist method: DeselectRow(row) [ADDED] a new columnlist method: GetSelectedRows() [ADDED] a new columnlist method: SetSelectionEnabled(bool) [ADDED] a new columnlist method: GetSelectionEnabled() [ADDED] a new columnlist method: SetMultiselectEnabled(bool) [ADDED] a new columnlist method: GetMultiselectEnabled() [ADDED] a new columnlistrow method: SetSelected(bool) [ADDED] a new columnlistrow method: GetSelected() [ADDED] a new columnlistrow method: SetColumnData(data) [ADDED] a new columnlist event callback: OnRowRightClicked(parent, row, data) [ADDED] a new columnlist event callback: OnRowSelected(parent, row, data) [ADDED] a new util library function: GetCollisionCount() [ADDED] a new util library function: GetHover() [CHANGED] the default mousewheel scroll-amount value for the list object [CHANGED] the list object no longer uses delta time for scrolling by default [CHANGED] some of the columnlistrow object's colors in the default skins ================================================ Version 0.9.5.11 - Alpha (May 15 - 2013) ================================================ [ADDED] ability to use multiple fonts with the text object [ADDED] a new checkbox method: SetEnabled(bool) [ADDED] a new checkbox method: GetEnabled() [ADDED] a new multichoice method: SetEnabled(bool) [ADDED] a new multichoice method: GetEnabled() [FIXED] being able to check a checkbox object while it was not down [FIXED] collisions being detected on objects outside of the active state [CHANGED] the checkbox event callback "OnChanged" now returns both the object and a boolean value representing whether or not the object is checked ================================================ Version 0.9.5.10 - Alpha (May 12 - 2013) ================================================ [ADDED] a new slider method: GetDecimals() [ADDED] a new numberbox method: SetDecimals(decimals) [ADDED] a new numberbox method: GetDecimals() [ADDED] a new textinput method: SetVisible(bool) (override of the base SetVisible method) [FIXED] the textinput object's "keydown" property not reseting when the object was not visible ================================================ Version 0.9.5.9 - Alpha (May 8 - 2013) ================================================ [FIXED] the slider event callback "OnRelease" not being called when the sliderbutton was released while being dragged in a non-hover state ================================================ Version 0.9.5.8 - Alpha (May 5 - 2013) ================================================ [ADDED] a new textinput method: SetValue(value) (alias of SetText(text)) [ADDED] a new textinput method: GetValue() (alias of GetText()) [ADDED] a new object: grid [ADDED] a new frame method: SetIcon(icon) [ADDED] a new frame method: GetIcon() [ADDED] a new callback for the slider object: OnRelease(object) [ADDED] a new text method: SetDefaultColor(r, g, b, a) [ADDED] a new text method: GetDefaultColor() [FIXED] OnOpened and OnClosed callbacks for tabbuttons not being asigned properly [FIXED] the image object not checking its hover state [FIXED] tabbutton rendering issues with the default skins [FIXED] some padding issues with multiline textinputs [CHANGED] loveframes.config["DIRECTORY"] no longer needs to be set when installing Love Frames ================================================ Version 0.9.5.7 - Alpha (April 9 - 2013) ================================================ [FIXED] some issues with positioning the textinput object's text ================================================ Version 0.9.5.6 - Alpha (March 29 - 2013) ================================================ [FIXED] numberbox:SetValue not functioning correctly ================================================ Version 0.9.5.5 - Alpha (March 23 - 2013) ================================================ [ADDED] a new textinput method: SetRepeatDelay(delay) [ADDED] a new textinput method: GetRepeatDelay() [ADDED] a new textinput method: SetRepeatRate(rate) [ADDED] a new textinput method: GetRepeatRate() [FIXED] several typos in the numberbox object's code [CHANGED] love frames now resets the active font to the font used before calling loveframes.draw() [REMOVED] loveframes.util.CheckForUpdates() ================================================ Version 0.9.5.4 - Alpha (March 5 - 2013) ================================================ [ADDED] a new multichoice method: RemoveChoice(choice) [ADDED] a new multichoice method: Clear() [FIXED] a bug with list:RemoveItem that would cause an error when providing an argument that wasn't a number [FIXED] the list object not resizing correctly when using list:RemoveItem and providing a number as an argument ================================================ Version 0.9.5.3 - Alpha (February 25 - 2013) ================================================ [FIXED] mousereleased never getting called on the collapsiblecategory's object ================================================ Version 0.9.5.2 - Alpha (February 24 - 2013) ================================================ [ADDED] a new slider method: SetEnabled(bool) [ADDED] a new slider method: GetEnabled() [FIXED] a resizing/layout issue with the columnlist object [FIXED] base:GetChildren being declared twice and base:GetInternals never being declared [CHANGED] major performance improvements for the default skins Blue and Orange [REMOVED] the "Blue (basic)" skin [REMOVED] the "Orange (basic)" skin ================================================ Version 0.9.5.1 - Alpha (February 17 - 2013) ================================================ [ADDED] a new slider method: SetScrollable(bool) [ADDED] a new slider method: GetScrollable() [ADDED] a new slider method: SetScrollIncrease(increase) [ADDED] a new slider method: GetScrollIncrease() [ADDED] a new slider method: SetScrollDecrease(decrease) [ADDED] a new slider method: GetScrollDecrease() [ADDED] a new multichoice method: Sort(func) [ADDED] a new multichoice method: SetSortFunction(func) [ADDED] a new multichoice method: GetSortFunction() [ADDED] support for scrolling the slider object with the mouse wheel [FIXED] the slider event callback "OnValueChanged" not passing the slider's new value in certain situations [FIXED] some typos in the changelog [CHANGED] the default mouse wheel scroll amounts of the scrollable objects (list, columnlist, tabs, multichoice) [CHANGED] minor modifications to the default skins [CHANGED] objects can now be centered when using the base methods SetPos, SetX, and SetY (ex: object:SetPos(x, y, true) would center the object at the position specified by x and y) ================================================ Version 0.9.5 - Alpha (February 11 - 2013) ================================================ [ADDED] state system [ADDED] a new base method: SetState(name) [ADDED] a new base method: GetState() [ADDED] a new list method: EnableHorizontalStacking(bool) [ADDED] a new list method: GetHorizontalStacking() [ADDED] a new list method: SetDTScrolling(bool) [ADDED] a new list method: GetDTScrolling() [ADDED] a new image method: GetImageSize() [ADDED] a new image method: GetImageWidth() [ADDED] a new image method: GetImageHeight() [ADDED] a new imagebutton method: GetImageSize() [ADDED] a new imagebutton method: GetImageWidth() [ADDED] a new imagebutton method: GetImageHeight() [ADDED] a new tabs method: RemoveTab(id) [ADDED] a new tabs method: SetButtonScrollAmount(amount) [ADDED] a new tabs method: GetButtonScrollAmount() [ADDED] a new tabs method: SetMouseWheelScrollAmount(amount) [ADDED] a new tabs method: GetMouseWheelScrollAmount() [ADDED] a new tabs method: SetDTScrolling(bool) [ADDED] a new tabs method: GetDTScrolling() [ADDED] a new columlist method: SetDTScrolling(bool) [ADDED] a new columlist method: GetDTScrolling() [ADDED] a new multichoice method: SetDTScrolling(bool) [ADDED] a new multichoice method: GetDTScrolling() [ADDED] a new base library function: loveframes.SetState(name) [ADDED] a new base library function: loveframes.GetState() [ADDED] a new object: numberbox [ADDED] support for horizontal stacking of list object items when the list object's display mode is set to vertical [FIXED] an error that would occur when providing a number as the text argument for textinput:SetText(text) [FIXED] default skin images becoming distorted at certain positions on the screen [FIXED] being able to clear a textinput's text by pressing an unusable key while all of the object's text was selected [FIXED] several typos in the changelog [CHANGED] the SetColor method for the image object now checks for four arguments (r, g, b, a) instead of one (table) [CHANGED] major code cleanup for the default skins [CHANGED] list:RemoveItem now accepts either an object or a number as an argument [CHANGED] miscellaneous changes/improvements to various sections of code [CHANGED] the images of the default skins ================================================ Version 0.9.4.15 - Alpha (January 5 - 2013) ================================================ [ADDED] a new base method: GetInternals() [ADDED] a new tooltip method: SetFollowObject(bool) ================================================ Version 0.9.4.14 - Alpha (January 4 - 2013) ================================================ [ADDED] a new util library function: loveframes.util.CheckForUpdates() (note: this function is meant to be used by the developer and is never called internally by Love Frames) [ADDED] a new callback for the tabbutton object: OnOpened(object) [ADDED] a new callback for the tabbutton object: OnClosed(object) [CHANGED] tabs:AddTab(name, object, tip, image) now accepts two new optional arguments for tabbutton callbacks (ex: tabs:AddTab(name, object, tip, image, onopened, onclosed)) ================================================ Version 0.9.4.13 - Alpha (January 4 - 2013) ================================================ [ADDED] a new base method: IsInList() [FIXED] not being able to add the boolean "false" to a template as a property with loveframes.templates.AddProperty(templatename, object, property, value) [CHANGED] small code cleanup [CHANGED] improved performance of the text object while parented within a list object ================================================ Version 0.9.4.12 - Alpha (December 30 - 2012) ================================================ [CHANGED] newlines created on the text object with \n now display properly [CHANGED] Love Frames now resets the current drawing color to the last color used before calling loveframes.draw() after it has finished all drawing operations ================================================ Version 0.9.4.11 - Alpha (December 28 - 2012) ================================================ [ADDED] a new textinput method: SetAutoScroll(bool) [ADDED] a new textinput method: GetAutoScroll() [FIXED] a couple of typos in the changelog [FIXED] a sliderbutton calculation error that caused the sliderbutton object to flash while moving the cursor out of it's bounding box while it was down [CHANGED] cleaned up a lot of code [CHANGED] the text object's shadow color now defaults to black ================================================ Version 0.9.4.10 - Alpha (December 26 - 2012) ================================================ [FIXED] registration errors for the new default skins ================================================ Version 0.9.4.9 - Alpha (December 26 - 2012) ================================================ [ADDED] a new default skin: Blue (basic) [ADDED] a new default skin: Orange (basic) [ADDED] a new skins library function: loveframes.skins.GetAvailable() [CHANGED] the license from CC BY-SA 3.0 to CC BY 3.0 [CHANGED] made minor improvements to the default skins ================================================ Version 0.9.4.8 - Alpha (December 24 - 2012) ================================================ [ADDED] a new text method: SetShadow(bool) [ADDED] a new text method: GetShadow() [ADDED] a new text method: SetShadowOffsets(offsetx, offsety) [ADDED] a new text method: GetShadowOffsets() [ADDED] a new text method: SetShadowColor(r, g, b, a) [ADDED] a new text method: GetShadowColor() [ADDED] a new columnlist method: SetColumnHeight(height) [FIXED] templates not being applied to objects [CHANGED] the columnlistarea object now has better sorting [CHANGED] the frame object no longer sets the size of it's close button ================================================ Version 0.9.4.7 - Alpha (December 19 - 2012) ================================================ [FIXED] textinput:SetFocus(focus) not working properly [CHANGED] the tooltip object is now positionable via the standard positioning methods when not set to follow the cursor ================================================ Version 0.9.4.6 - Alpha (December 10 - 2012) ================================================ [ADDED] a new textinput event callback: OnFocusGained(object) [ADDED] a new textinput event callback: OnFocusLost(object) [FIXED] the textinput object accepting input from the tab and delete keys when object.editable was set to false [CHANGED] all "." are now replaced with "/" in loveframes.config["DIRECTORY"] after all inernal Love Frames libraries have been loaded (this is to prevent filesystem errors) [REMOVED] loveframes.util.TrimString(string) ================================================ Version 0.9.4.5 - Alpha (November 28 - 2012) ================================================ [FIXED] text inputs not losing focus in certain situations ================================================ Version 0.9.4.4 - Alpha (November 24 - 2012) ================================================ [ADDED] a new text input method: SetButtonScrollAmount(amount) [ADDED] a new text input method: GetButtonScrollAmount() [ADDED] a new text input method: SetMouseWheelScrollAmount(amount) [ADDED] a new text input method: GetMouseWheelScrollAmount() [ADDED] a new multichoice method: SetButtonScrollAmount(amount) [ADDED] a new multichoice method: GetButtonScrollAmount() [ADDED] a new multichoice method: SetMouseWheelScrollAmount(amount) [ADDED] a new multichoice method: GetMouseWheelScrollAmount() [ADDED] a new column list method: SetButtonScrollAmount(amount) [ADDED] a new column list method: GetButtonScrollAmount() [ADDED] a new column list method: SetMouseWheelScrollAmount(amount) [ADDED] a new column list method: GetMouseWheelScrollAmount() [ADDED] a new frame method: SetParentLocked(bool) [ADDED] a new frame method: GetParentLocked() [ADDED] a new base method: CenterWithinArea(x, y, width, height) [ADDED] a new library function: loveframes.NewObject(id, name, inherit_from_base) [FIXED] an error that would occur when clicking a scroll button on a multiline text input or a multichoice list [FIXED] a button calculation error that caused the button object to flash while moving the cursor out of it's bounding box while it was down [FIXED] several errors that could occur when a collapsible category did not have an object [FIXED] the value of the slider object becoming -0 in certain situations [CHANGED] the close button object is no longer positioned internally by the frame object and should now be positioned by it's skin drawing function [CHANGED] all Love Frames objects are now stored within loveframes.objects [CHANGED] frames are now draggable when parented to any object [CHANGED] the look of the debug overlay ================================================ Version 0.9.4.3 - Alpha (November 20 - 2012) ================================================ [ADDED] a new base method: SetProperty(name, value) [ADDED] a new base method: GetProperty(name) [ADDED] a new list method: SetButtonScrollAmount(amount) [ADDED] a new list method: GetButtonScrollAmount() [ADDED] a new list method: SetMouseWheelScrollAmount(amount) [ADDED] a new list method: GetMouseWheelScrollAmount() [FIXED] a typo in the changelog [FIXED] image:SetScale(scalex, scaley) not working correctly [CHANGED] loveframes.util.GetDirContents(dir, t) to loveframes.util.GetDirectoryContents(dir, t) [CHANGED] arguments passed to require() to use "." instead of "/" which should fix file loading issues on certain systems ================================================ Version 0.9.4.2 - Alpha (November 5 - 2012) ================================================ [ADDED] a new text object method: SetIgnoreNewlines(bool) [ADDED] a new text object method: GetIgnoreNewlines() [ADDED] a new image method: SetOrientation(orientation) [ADDED] a new image method: GetOrientation() [ADDED] a new image method: SetScaleX(scalex) [ADDED] a new image method: GetScaleX() [ADDED] a new image method: SetScaleY(scaley) [ADDED] a new image method: GetScaleY() [ADDED] a new image method: SetScale(scalex, scaley) [ADDED] a new image method: GetScale() [ADDED] a new image method: SetOffsetX(x) [ADDED] a new image method: GetOffsetX() [ADDED] a new image method: SetOffsetY(y) [ADDED] a new image method: GetOffsetY() [ADDED] a new image method: SetOffset(x, y) [ADDED] a new image method: GetOffset() [ADDED] a new image method: SetShearX(x) [ADDED] a new image method: GetShearX() [ADDED] a new image method: SetShearY(y) [ADDED] a new image method: GetShearY() [ADDED] a new image method: SetShear(x, y) [ADDED] a new image method: GetShear() [FIXED] an error that occurred after pressing enter on a multiline text input while all of it's text was selected [FIXED] text in a single line text input always being cleared when the enter key was pressed [FIXED] a syntax error in both default skin files that caused imaged to draw incorrect when they had a custom color [FIXED] an error that would occur when a tab button was being drawn while no font had been set [FIXED] textinput.OnTextChanged being called too early when using the backspace key or the delete key [CHANGED] tab buttons no longer calculate their width from within their internal drawing function and should be sized externally from now on [CHANGED] the text object now calculates what characters should be drawn while in a list object to improve performance with list objects that contain large amounts of text ================================================ Version 0.9.4.1 - Alpha (October 25 - 2012) ================================================ [ADDED] support for using the delete key in text input objects [FIXED] textinupt:GetText() only returning the first line of a multiline text input [FIXED] an error that occurred when clicking a multiline text input object after setting the object's text to an empty string with textinput:SetText("") [FIXED] incorrect positioning of the text input object's indicator when using the left or right arrow keys to move the object's indicator to a different line [FIXED] the text input object not creating a new line correctly in certain situations [CHANGED] textinput:GetText() now returns the object's text with line breaks ================================================ Version 0.9.4 - Alpha (October 22 - 2012) ================================================ [ADDED] a new base method: SetDrawOrder() [ADDED] a new base method: GetDrawOrder() [ADDED] a new text method: GetFormattedText() [ADDED] a new text input method: SetEditable(bool) [ADDED] a new text input method: GetEditable() [ADDED] a new text input method: GetUsable() [ADDED] a new text input method: GetUnusable() [ADDED] a new system for creating and applying templates to objects [FIXED] a few incorrect entries in the changelog and added a few entries that were meant to be in the last upadte's changelog [FIXED] an error that occurred when clicking on a frame that was parented to another frame [FIXED] frames not being positioned properly if they were parented to another object [FIXED] modal background object not drawing over umodaled objects in certain situations [FIXED] an error that would occur when a multichoice list object would become scrollable [FIXED] an error that would occur when a the column list object had no columns [FIXED] multichoice object not positioning itself properly if it's parent was the base object [CHANGED] text:GetText() now returns a string of the object's text [CHANGED] parented frames can no longer be modaled ================================================ Version 0.9.3.2 - Alpha (Spetember 29 - 2012) ================================================ [ADDED] a new base method: SetDrawOrder() [ADDED] a new text input method: SetMultiline(bool) [ADDED] a new text input method: GetVerticalScrollBody() [ADDED] a new text input method: GetHorizontalScrollBody() [ADDED] a new text input method: SetText(text) [ADDED] a new text input method: HasVerticalScrollBar() [ADDED] a new text input method: HasHorizontalScrollBar() [ADDED] a new text input method: GetFont() [ADDED] a new text input method: GetLineNumbersPanel() [ADDED] a new text input method: GetMultiline() [ADDED] a new text input method: GetTextX() [ADDED] a new text input method: GetTextY() [ADDED] a new text input method: IsAllTextSelected() [ADDED] a new text input method: GetLines() [ADDED] a new text input method: GetOffsetX() [ADDED] a new text input method: GetOffsetY() [ADDED] a new text input method: GetIndicatorX() [ADDED] a new text input method: GetIndicatorY() [ADDED] a new text input method: SetLineNumbersEnabled(enabled) [ADDED] a new text input method: GetLineNumbersEnabled() [ADDED] a new text input method: GetItemWidth() [ADDED] a new text input method: GetItemHeight() [ADDED] a new text input method: SetTabReplacement(tabreplacement) [ADDED] a new text input method: GetTabReplacement() [ADDED] a new scroll area method: GetBarType() [ADDED] a new scroll bar method: IsDragging() [ADDED] a new scroll bar method: GetBarType() [ADDED] a new scroll button method: GetScrollType() [ADDED] a new tab button method: GetText() [ADDED] a new tab button method: GetImage() [ADDED] a new tab button method: GetTabNumber() [ADDED] a new column list header method: GetName() [ADDED] a new column list row method: GetColumnData() [ADDED] a new multichoice method: SetText(text) [ADDED] a new multichoice method: GetText() [ADDED] a new multichoice row method: GetText() [ADDED] a new progressbar method: GetBarWidth() [ADDED] a new internal object: linenumberspanel [ADDED] multiline support for the text input object [ADDED] ability to select all text within a text input [FIXED] progressbar object not positioning itself properly if it's parent was the base object [FIXED] a typo in the syntax of loveframes.util.SplitString (was "SplitSring", changed to "SplitString") [FIXED] the tooltip object not disappearing if it was visible when it's object's visibility was changed to false [FIXED] the text input object's x offset not being adjusted initially when the width of it's text would would become wider than it's drawing area [CHANGED] massive code cleanup for optimization and [CHANGED] frames can now be parent to other objects [CHANGED] textinput:RunBlink() to textinput:UpdateIndicator() [CHANGED] textinput:GetBlinkerVisisbility() to textinput:GetIndicatorVisisbility() [CHANGED] textinput:MoveBlinker(num, exact) to textinput:MoveIndicator(num, exact) [CHANGED] scrollbars now only autoscroll when their list's item width/height is greater than their previous list's previous item width/height [CHANGED] cleaned up the code for the default skins [CHANGED] the text input object's text is no longer drawn internally by the object and should now be draw within the object's skin drawing function [CHANGED] the column list row object's text is no longer drawn internally by the object and should now be draw within the object's skin drawing function [REMOVED] textinput:SetTextColor(color) [REMOVED] columnlistrow:SetTextColor() ================================================ Version 0.9.3.1 - Alpha (Spetember 2 - 2012) ================================================ [ADDED] numpad enter key support for textinput.OnEnter [FIXED] duplicate progressbar:GetCompleted() in progressbar.lua [CHANGED] textinput.OnTextEnterd to textinput.OnTextChanged [CHANGED] textinput.OnTextChanged is now also called when the backspace key is pressed ================================================ Version 0.9.3 - Alpha (Spetember 1 - 2012) ================================================ [ADDED] a new base method: GetParents() [ADDED] a new base method: IsTopInternal() [ADDED] a new base method: IsInternal() [ADDED] a new base method: GetType() [ADDED] a new checkbox method: GetFont() [ADDED] a new checkbox method: GetBoxSize() [ADDED] a new checkbox method: GetBoxWidth() [ADDED] a new checkbox method: GetBoxHeight() [ADDED] a new image method: GetImage() [ADDED] a new image method: GetColor() [ADDED] a new progressbar method: GetCompleted() [ADDED] a new tabs method: GetTabNumber() [ADDED] a new text method: GetLines() [ADDED] a new text input method: SetLimit(limit) [ADDED] a new text input method: SetUsable(usable) [ADDED] a new text input method: SetUnusable(unusable) [ADDED] a new text input method: Clear() [ADDED] a new text input method: GetText() [ADDED] support for line breaks in the text object (please refer to the wiki on how to format your text with line breaks) [ADDED] more information to the debug overlay [FIXED] tooltips and multichoice lists not functioning properly when a frame was modaled [FIXED] the text object not moving it's base parent to the top when clicked if it's base parent was a frame [FIXED] the list object not scrolling via the mouse wheel due to certain collision detection issues [FIXED] tooltips flickering when in a hover state [FIXED] slider calculation errors [FIXED] skin.DrawRepeatingImage creating a new image every frame [FIXED] checkbox text not scrolling properly when in a list [FIXED] the collapsible category's object not scrolling properly when in a list [FIXED] skins not assuming the drawing functions of the default skins if drawing functions in the active skin were missing [FIXED] some objects not being removed [FIXED] sliders not scrolling properly when in a list [CHANGED] various code for a small cleanup [CHANGED] tooltips from being children of the base object to internals of the base object [CHANGED] tooltips from never being removed to being removed when their assigned object is removed [CHANGED] tooltips are now not able to be assigned to the base object (this would cause an error due to the way the tooltip currently functions) [CHANGED] the text object now positions it's text when SetText is called instead of positioning it's text every frame [CHANGED] slider:SetMax(max), slider:SetMin(min) and slider:SetMinMax(min, max) now adjust the slider's value if the slider's value is out of the range specified [CHANGED] loveframes.Create(data, parent) now activates an error screen if the object specified is invalid ================================================ Version 0.9.2.5 - Alpha (June 1 - 2012) ================================================ [FIXED] the text object not drawing numbers in certain situations [FIXED] a typo in the changelog ================================================ Version 0.9.2.4 - Alpha (May 29 - 2012) ================================================ [FIXED] the SetSkin(skin) method causing a stack overflow ================================================ Version 0.9.2.3 - Alpha (May 27 - 2012) ================================================ [FIXED] imagebutton.OnClick not working [FIXED] text being added into the text input object at incorrect positions when the value of textinput.blinknum was 0 [FIXED] a bug that would cause an error when running SetVisible on a frame object when the value of frame.showclose was true ================================================ Version 0.9.2.2 - Alpha (May 23 - 2012) ================================================ [FIXED] vertical slider value direction (top is now max value and bottom is 0) [FIXED] text flashing in the text input object when moving the text blinker to the right [FIXED] text blinker in the text input object not appearing in certain situations ================================================ Version 0.9.2 - Alpha (May 22 - 2012) ================================================ [ADDED] a new slider method: SetButtonSize(width, height) [ADDED] a new slider method: GetButtonSize() [ADDED] a new slider method: SetSlideType(slidetype) [ADDED] a new slider button method: MoveToY(y) [REMOVED] slider method: SetButtonYCenter(y) [REMOVED] slider method: GetButtonYCenter() [FIXED] the column list row object not setting it's text's font to it's font [FIXED] a small gradient error in the default skins [FIXED] an error that caused tab buttons to be over-scrolled with the middle mouse button [FIXED] the scroll area object not moving it's base parent to the top when clicked (only in situations where it's base parent was a frame) [CHANGED] sliders no longer use ycenter for button positioning [CHANGED] slider functionality, sliders can now be horizontal or vertical (use slider:SetSlideType("horizontal" or "vertical")) [CHANGED] lots of code for optimization and general cleanliness [CHANGED] a few minor things in the default skins [CHANGED] scrollbar hover behavior when being moved via it's scroll area being clicked (will no longer auto hover when it reaches the mouse position) ================================================ Version 0.9.1.6 - Alpha (May 17 - 2012) ================================================ [ADDED] a new column list method: Clear() [ADDED] a new column list method: SetAutoScroll(bool) [ADDED] "autoscroll" property for the column list object [ADDED] a new column list area method: Clear() [ADDED] a new skin function: DrawOverTextInput() [FIXED] not being able to move the column list object's scrollbar by clicking on it's scroll area [FIXED] column list rows color indexes becoming disordered when the list was sorted via a column list header [CHANGED] a few minor things in the default skins ================================================ Version 0.9.1.5 - Alpha (May 16 - 2012) ================================================ [FIXED] a bug that caused scrollbars to always autoscroll ================================================ Version 0.9.1.4 - Alpha (May 16 - 2012) ================================================ [FIXED] list:SetAutoScroll() not working ================================================ Version 0.9.1.3 - Alpha (May 14 - 2012) ================================================ [ADDED] modal system for frames [ADDED] a new frame method: SetModal(bool) [ADDED] a new frame method: GetModal() [ADDED] a new frame method: SetVisible(bool) - this override is part of a frame bug fix [ADDED] "showclose" property for the frame object [ADDED] a new internal object: modal background [ADDED] a new base method: IsActive() [ADDED] a new base method: CenterX() [ADDED] a new base method: CenterY() [ADDED] a new skin function: DrawOverColumList() [FIXED] a bug that made the frame's close button become visible when the frame was made visible and show close button was set to false ================================================ Version 0.9.1.2 - Alpha (May 12 - 2012) ================================================ [ADDED] a system for preventing objects from being hovered over when another object is being pressed or is "down" [ADDED] "down" property for the checkbox object [ADDED] "down" property for the collapsible category object [ADDED] a new method for the tabs object: SetToolTipFont(font) [FIXED] list:GetScrollBar() crashing when the list had no scroll bar [FIXED] not being able to move the text input blinker to the front or end of the it's text by clicking on it's whitespace [FIXED] the multichoice row object being "down" when mouse buttons other than the left mouse button were pressed [CHANGED] collapsible category opening and closing system (will now only open or close when "down") ================================================ Version 0.9.1 - Alpha (May 8 - 2012) ================================================ [ADDED] a new object: image button [ADDED] a new skin: Orange [ADDED] a new column list row method: SetTextPos(x, y) [ADDED] a new column list row method: SetFont(font) [ADDED] a new column list row method: GetFont() [ADDED] a new column list row method: GetColorIndex() [ADDED] a new column list row method: SetTextColor(color) [ADDED] a new debug function: SkinSelector() [ADDED] license.txt [ADDED] changelog.txt [CHANGED] the name of the default skin to Blue [CHANGED] the drawing system of the image object, the image object will now draw it's image from it's skin function instead of it's internal drawing function [CHANGED] argument type for adding an image to a tab in tabs:AddTab(), the image argument can now be either an image object or a string containg the path to an image [CHANGED] the look of the debug overlay [CHANGED] some of the code within the default skins to improve performance (as suggested by kikito) [REMOVED] license.html [REMOVED] loveframes.graphics and graphics.lua ================================================ Version 0.9 - Alpha (May 5 - 2012) ================================================ Initial commit