Version 0.9.1 - Alpha (see changelog.txt)
27
changelog.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
================================================
|
||||||
|
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
|
195
debug.lua
@ -36,125 +36,58 @@ function loveframes.debug.draw()
|
|||||||
|
|
||||||
-- font for debug text
|
-- font for debug text
|
||||||
love.graphics.setFont(font)
|
love.graphics.setFont(font)
|
||||||
love.graphics.setLine(1, "smooth")
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.setColor(0, 0, 0, 150)
|
||||||
love.graphics.print("Library Information", 6, 6)
|
love.graphics.rectangle("fill", 5, 5, 200, 250)
|
||||||
|
|
||||||
|
love.graphics.setColor(0, 0, 0, 50)
|
||||||
|
love.graphics.rectangle("fill", 10, 10, 190, 20)
|
||||||
love.graphics.setColor(255, 0, 0, 255)
|
love.graphics.setColor(255, 0, 0, 255)
|
||||||
love.graphics.print("Library Information", 5, 5)
|
love.graphics.print("Library Information", 15, 15)
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.line(6, 21, 190, 21)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
love.graphics.setColor(255, 255, 255, 255)
|
||||||
love.graphics.line(5, 20, 190, 20)
|
love.graphics.print("Author: " ..loveframes.info.author, 15, 30)
|
||||||
|
love.graphics.print("Version: " ..loveframes.info.version, 15, 40)
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("Stage: " ..loveframes.info.stage, 15, 50)
|
||||||
love.graphics.print("Author: " ..loveframes.info.author, 6, 26)
|
love.graphics.print("Base Directory: " ..loveframes.config["DIRECTORY"], 15, 60)
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Author: " ..loveframes.info.author, 5, 25)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Version: " ..loveframes.info.version, 6, 36)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Version: " ..loveframes.info.version, 5, 35)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Stage: " ..loveframes.info.stage, 6, 46)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Stage: " ..loveframes.info.stage, 5, 45)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Base Directory: " ..loveframes.config["DIRECTORY"], 6, 56)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Base Directory: " ..loveframes.config["DIRECTORY"], 5, 55)
|
|
||||||
|
|
||||||
-- object information box
|
-- object information box
|
||||||
|
love.graphics.setColor(0, 0, 0, 50)
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.rectangle("fill", 10, 80, 190, 20)
|
||||||
love.graphics.print("Object Information", 6, 81)
|
|
||||||
love.graphics.setColor(255, 0, 0, 255)
|
love.graphics.setColor(255, 0, 0, 255)
|
||||||
love.graphics.print("Object Information", 5, 80)
|
love.graphics.print("Object Information", 15, 85)
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.line(6, 96, 190, 96)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
love.graphics.setColor(255, 255, 255, 255)
|
||||||
love.graphics.line(5, 95, 190, 95)
|
|
||||||
|
|
||||||
if numcols > 0 then
|
if numcols > 0 then
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("Type: " ..topcol.type, 15, 100)
|
||||||
love.graphics.print("Type: " ..topcol.type, 6, 101)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Type: " ..topcol.type, 5, 100)
|
|
||||||
else
|
else
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("Type: none", 10, 100)
|
||||||
love.graphics.print("Type: none", 6, 101)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Type: none", 5, 100)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if topcol.children then
|
if topcol.children then
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("# of children: " .. #topcol.children, 15, 110)
|
||||||
love.graphics.print("# of children: " .. #topcol.children, 6, 111)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("# of children: " .. #topcol.children, 5, 110)
|
|
||||||
else
|
else
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("# of children: 0", 15, 110)
|
||||||
love.graphics.print("# of children: 0", 6, 111)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("# of children: 0", 5, 110)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("X: " ..topcol.x, 15, 120)
|
||||||
love.graphics.print("X: " ..topcol.x, 6, 121)
|
love.graphics.print("Y: " ..topcol.y, 15, 130)
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
love.graphics.print("Width: " ..topcol.width, 15, 140)
|
||||||
love.graphics.print("X: " ..topcol.x, 5, 120)
|
love.graphics.print("Height: " ..topcol.height, 15, 150)
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Y: " ..topcol.y, 6, 131)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Y: " ..topcol.y, 5, 130)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Width: " ..topcol.width, 6, 141)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Width: " ..topcol.width, 5, 140)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Height: " ..topcol.height, 6, 151)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Height: " ..topcol.height, 5, 150)
|
|
||||||
|
|
||||||
-- Miscellaneous box
|
-- Miscellaneous box
|
||||||
|
love.graphics.setColor(0, 0, 0, 50)
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.rectangle("fill", 10, 190, 190, 20)
|
||||||
love.graphics.print("Miscellaneous: ", 6, 191)
|
|
||||||
love.graphics.setColor(255, 0, 0, 255)
|
love.graphics.setColor(255, 0, 0, 255)
|
||||||
love.graphics.print("Miscellaneous", 5, 190)
|
love.graphics.print("Miscellaneous", 15, 195)
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.line(6, 206, 190, 206)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
love.graphics.setColor(255, 255, 255, 255)
|
||||||
love.graphics.line(5, 205, 190, 205)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
love.graphics.print("LOVE Version: " ..love._version, 15, 210)
|
||||||
love.graphics.print("LOVE Version: " ..love._version, 6, 211)
|
love.graphics.print("FPS: " ..love.timer.getFPS(), 15, 220)
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
love.graphics.print("Delta Time: " ..love.timer.getDelta(), 15, 230)
|
||||||
love.graphics.print("LOVE Version: " ..love._version, 5, 210)
|
love.graphics.print("Total Objects: " ..#objects, 15, 240)
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("FPS: " ..love.timer.getFPS(), 6, 221)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("FPS: " ..love.timer.getFPS(), 5, 220)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Delta Time: " ..love.timer.getDelta(), 6, 231)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Delta Time: " ..love.timer.getDelta(), 5, 230)
|
|
||||||
|
|
||||||
love.graphics.setColor(0, 0, 0, 255)
|
|
||||||
love.graphics.print("Total Objects: " ..#objects, 6, 241)
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.print("Total Objects: " ..#objects, 5, 240)
|
|
||||||
|
|
||||||
-- outline the object that the mouse is hovering over
|
-- outline the object that the mouse is hovering over
|
||||||
love.graphics.setColor(255, 204, 51, 255)
|
love.graphics.setColor(255, 204, 51, 255)
|
||||||
@ -170,8 +103,8 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
------------------------------------
|
------------------------------------
|
||||||
local examplesframe = loveframes.Create("frame")
|
local examplesframe = loveframes.Create("frame")
|
||||||
examplesframe:SetName("Examples List")
|
examplesframe:SetName("Examples List")
|
||||||
examplesframe:SetSize(200, love.graphics.getHeight() - 265)
|
examplesframe:SetSize(200, love.graphics.getHeight() - 330)
|
||||||
examplesframe:SetPos(5, 260)
|
examplesframe:SetPos(5, 325)
|
||||||
|
|
||||||
------------------------------------
|
------------------------------------
|
||||||
-- examples list
|
-- examples list
|
||||||
@ -221,6 +154,7 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
local frame1 = loveframes.Create("frame")
|
local frame1 = loveframes.Create("frame")
|
||||||
frame1:SetName("Checkbox")
|
frame1:SetName("Checkbox")
|
||||||
frame1:Center()
|
frame1:Center()
|
||||||
|
frame1:SetHeight(85)
|
||||||
|
|
||||||
local checkbox1 = loveframes.Create("checkbox", frame1)
|
local checkbox1 = loveframes.Create("checkbox", frame1)
|
||||||
checkbox1:SetText("Checkbox 1")
|
checkbox1:SetText("Checkbox 1")
|
||||||
@ -251,6 +185,7 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
frame1:Center()
|
frame1:Center()
|
||||||
|
|
||||||
local panel1 = loveframes.Create("panel")
|
local panel1 = loveframes.Create("panel")
|
||||||
|
panel1:SetHeight(230)
|
||||||
|
|
||||||
local collapsiblecategory1 = loveframes.Create("collapsiblecategory", frame1)
|
local collapsiblecategory1 = loveframes.Create("collapsiblecategory", frame1)
|
||||||
collapsiblecategory1:SetPos(5, 30)
|
collapsiblecategory1:SetPos(5, 30)
|
||||||
@ -327,6 +262,26 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
end
|
end
|
||||||
exampleslist:AddItem(imageexample)
|
exampleslist:AddItem(imageexample)
|
||||||
|
|
||||||
|
------------------------------------
|
||||||
|
-- image button example
|
||||||
|
------------------------------------
|
||||||
|
local imagebuttonexample = loveframes.Create("button")
|
||||||
|
imagebuttonexample:SetText("Image Button")
|
||||||
|
imagebuttonexample.OnClick = function(object1, x, y)
|
||||||
|
|
||||||
|
local frame1 = loveframes.Create("frame")
|
||||||
|
frame1:SetName("Image Button")
|
||||||
|
frame1:SetSize(138, 163)
|
||||||
|
frame1:Center()
|
||||||
|
|
||||||
|
local imagebutton1 = loveframes.Create("imagebutton", frame1)
|
||||||
|
imagebutton1:SetImage("resources/images/carlsagan.png")
|
||||||
|
imagebutton1:SetPos(5, 30)
|
||||||
|
imagebutton1:SizeToImage()
|
||||||
|
|
||||||
|
end
|
||||||
|
exampleslist:AddItem(imagebuttonexample)
|
||||||
|
|
||||||
------------------------------------
|
------------------------------------
|
||||||
-- list example
|
-- list example
|
||||||
------------------------------------
|
------------------------------------
|
||||||
@ -486,12 +441,12 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
|
|
||||||
local frame1 = loveframes.Create("frame")
|
local frame1 = loveframes.Create("frame")
|
||||||
frame1:SetName("Slider")
|
frame1:SetName("Slider")
|
||||||
frame1:SetSize(300, 100)
|
frame1:SetSize(300, 70)
|
||||||
frame1:Center()
|
frame1:Center()
|
||||||
|
|
||||||
local slider1 = loveframes.Create("slider", frame1)
|
local slider1 = loveframes.Create("slider", frame1)
|
||||||
slider1:SetPos(5, 30)
|
slider1:SetPos(5, 30)
|
||||||
slider1:SetSize(290, 500)
|
slider1:SetWidth(290)
|
||||||
slider1:SetMinMax(0, 100)
|
slider1:SetMinMax(0, 100)
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -513,10 +468,22 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
tabs1:SetPos(5, 30)
|
tabs1:SetPos(5, 30)
|
||||||
tabs1:SetSize(490, 265)
|
tabs1:SetSize(490, 265)
|
||||||
|
|
||||||
|
local images = {"accept.png", "add.png", "application.png", "building.png", "bin.png", "database.png", "box.png", "brick.png"}
|
||||||
|
|
||||||
for i=1, 20 do
|
for i=1, 20 do
|
||||||
local text1 = loveframes.Create("text")
|
|
||||||
|
local panel1 = loveframes.Create("panel")
|
||||||
|
panel1.Draw = function()
|
||||||
|
end
|
||||||
|
|
||||||
|
local text1 = loveframes.Create("text", panel1)
|
||||||
text1:SetText("Tab " ..i)
|
text1:SetText("Tab " ..i)
|
||||||
tabs1:AddTab("Tab " ..i, text1, "Tab " ..i)
|
tabs1:AddTab("Tab " ..i, panel1, "Tab " ..i, "resources/images/" ..images[math.random(1, #images)])
|
||||||
|
text1:SetAlwaysUpdate(true)
|
||||||
|
text1.Update = function(object, dt)
|
||||||
|
object:Center()
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -540,10 +507,9 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
list1:SetPadding(5)
|
list1:SetPadding(5)
|
||||||
list1:SetSpacing(5)
|
list1:SetSpacing(5)
|
||||||
|
|
||||||
for i=1, 20 do
|
for i=1, 5 do
|
||||||
local text1 = loveframes.Create("text")
|
local text1 = loveframes.Create("text")
|
||||||
text1:SetText(loremipsum)
|
text1:SetText(loremipsum)
|
||||||
--text1:SetColor({math.random(1, 255), math.random(1, 255), math.random(1, 255), 255})
|
|
||||||
list1:AddItem(text1)
|
list1:AddItem(text1)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -570,3 +536,26 @@ function loveframes.debug.ExamplesMenu()
|
|||||||
exampleslist:AddItem(textinputexample)
|
exampleslist:AddItem(textinputexample)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function loveframes.debug.SkinSelector()
|
||||||
|
|
||||||
|
local skins = loveframes.skins.available
|
||||||
|
|
||||||
|
local frame = loveframes.Create("frame")
|
||||||
|
frame:SetName("Skin Selector")
|
||||||
|
frame:SetSize(200, 60)
|
||||||
|
frame:SetPos(5, 260)
|
||||||
|
|
||||||
|
local skinslist = loveframes.Create("multichoice", frame)
|
||||||
|
skinslist:SetPos(5, 30)
|
||||||
|
skinslist:SetWidth(190)
|
||||||
|
skinslist:SetChoice("Choose a skin")
|
||||||
|
skinslist.OnChoiceSelected = function(object, choice)
|
||||||
|
loveframes.util.SetActiveSkin(choice)
|
||||||
|
end
|
||||||
|
|
||||||
|
for k, v in pairs(skins) do
|
||||||
|
skinslist:AddChoice(v.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
8
init.lua
@ -9,16 +9,16 @@ loveframes = {}
|
|||||||
-- library info
|
-- library info
|
||||||
loveframes.info = {}
|
loveframes.info = {}
|
||||||
loveframes.info.author = "Nikolai Resokav"
|
loveframes.info.author = "Nikolai Resokav"
|
||||||
loveframes.info.version = "0.9"
|
loveframes.info.version = "0.9.1"
|
||||||
loveframes.info.stage = "Alpha"
|
loveframes.info.stage = "Alpha"
|
||||||
|
|
||||||
-- library configurations
|
-- library configurations
|
||||||
loveframes.config = {}
|
loveframes.config = {}
|
||||||
loveframes.config["DIRECTORY"] = "libraries/loveframes"
|
loveframes.config["DIRECTORY"] = "libraries/loveframes"
|
||||||
loveframes.config["DEFAULTSKIN"] = "Default"
|
loveframes.config["DEFAULTSKIN"] = "Blue"
|
||||||
loveframes.config["ACTIVESKIN"] = "Default"
|
loveframes.config["ACTIVESKIN"] = "Blue"
|
||||||
loveframes.config["INDEXSKINIMAGES"] = true
|
loveframes.config["INDEXSKINIMAGES"] = true
|
||||||
loveframes.config["DEBUG"] = false
|
loveframes.config["DEBUG"] = true
|
||||||
|
|
||||||
-- drawcount
|
-- drawcount
|
||||||
loveframes.drawcount = 0
|
loveframes.drawcount = 0
|
||||||
|
470
license.html
@ -1,470 +0,0 @@
|
|||||||
<html>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div style="width: 800px; padding: 0px; margin: auto; font-family: Arial; border: 1px solid #000000;">
|
|
||||||
|
|
||||||
<div style="padding: 5px; border-bottom: 1px solid #000000; text-align: center; background-color: #C80000; color: #FFFFFF;">
|
|
||||||
<h3>License for Löve Frames By Nikolai Resokav</h3>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="padding: 10px; border-bottom: 1px solid #000000;">
|
|
||||||
Löve Frames is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.
|
|
||||||
Below is the entire legal code for the license. For more information on this license, please visit this web page:
|
|
||||||
<a href="http://creativecommons.org/licenses/by-sa/3.0/" style="text-decoration: none;">Licence URL</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="padding: 10px;">
|
|
||||||
|
|
||||||
<h3><em>License</em></h3>
|
|
||||||
|
|
||||||
<p>THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS
|
|
||||||
OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR
|
|
||||||
"LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER
|
|
||||||
APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
|
|
||||||
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
|
|
||||||
PROHIBITED.</p>
|
|
||||||
|
|
||||||
<p>BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU
|
|
||||||
ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE.
|
|
||||||
TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A
|
|
||||||
CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE
|
|
||||||
IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
|
|
||||||
CONDITIONS.</p>
|
|
||||||
|
|
||||||
<p><strong>1. Definitions</strong></p>
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li><strong>"Adaptation"</strong> means a work based upon
|
|
||||||
the Work, or upon the Work and other pre-existing works,
|
|
||||||
such as a translation, adaptation, derivative work,
|
|
||||||
arrangement of music or other alterations of a literary
|
|
||||||
or artistic work, or phonogram or performance and
|
|
||||||
includes cinematographic adaptations or any other form in
|
|
||||||
which the Work may be recast, transformed, or adapted
|
|
||||||
including in any form recognizably derived from the
|
|
||||||
original, except that a work that constitutes a
|
|
||||||
Collection will not be considered an Adaptation for the
|
|
||||||
purpose of this License. For the avoidance of doubt,
|
|
||||||
where the Work is a musical work, performance or
|
|
||||||
phonogram, the synchronization of the Work in
|
|
||||||
timed-relation with a moving image ("synching") will be
|
|
||||||
considered an Adaptation for the purpose of this
|
|
||||||
License.</li>
|
|
||||||
|
|
||||||
<li><strong>"Collection"</strong> means a collection of
|
|
||||||
literary or artistic works, such as encyclopedias and
|
|
||||||
anthologies, or performances, phonograms or broadcasts,
|
|
||||||
or other works or subject matter other than works listed
|
|
||||||
in Section 1(f) below, which, by reason of the selection
|
|
||||||
and arrangement of their contents, constitute
|
|
||||||
intellectual creations, in which the Work is included in
|
|
||||||
its entirety in unmodified form along with one or more
|
|
||||||
other contributions, each constituting separate and
|
|
||||||
independent works in themselves, which together are
|
|
||||||
assembled into a collective whole. A work that
|
|
||||||
constitutes a Collection will not be considered an
|
|
||||||
Adaptation (as defined below) for the purposes of this
|
|
||||||
License.</li>
|
|
||||||
|
|
||||||
<li><strong>"Creative Commons Compatible
|
|
||||||
License"</strong> means a license that is listed at
|
|
||||||
http://creativecommons.org/compatiblelicenses that has
|
|
||||||
been approved by Creative Commons as being essentially
|
|
||||||
equivalent to this License, including, at a minimum,
|
|
||||||
because that license: (i) contains terms that have the
|
|
||||||
same purpose, meaning and effect as the License Elements
|
|
||||||
of this License; and, (ii) explicitly permits the
|
|
||||||
relicensing of adaptations of works made available under
|
|
||||||
that license under this License or a Creative Commons
|
|
||||||
jurisdiction license with the same License Elements as
|
|
||||||
this License.</li>
|
|
||||||
|
|
||||||
<li><strong>"Distribute"</strong> means to make available
|
|
||||||
to the public the original and copies of the Work or
|
|
||||||
Adaptation, as appropriate, through sale or other
|
|
||||||
transfer of ownership.</li>
|
|
||||||
|
|
||||||
<li><strong>"License Elements"</strong> means the
|
|
||||||
following high-level license attributes as selected by
|
|
||||||
Licensor and indicated in the title of this License:
|
|
||||||
Attribution, ShareAlike.</li>
|
|
||||||
|
|
||||||
<li><strong>"Licensor"</strong> means the individual,
|
|
||||||
individuals, entity or entities that offer(s) the Work
|
|
||||||
under the terms of this License.</li>
|
|
||||||
|
|
||||||
<li><strong>"Original Author"</strong> means, in the case
|
|
||||||
of a literary or artistic work, the individual,
|
|
||||||
individuals, entity or entities who created the Work or
|
|
||||||
if no individual or entity can be identified, the
|
|
||||||
publisher; and in addition (i) in the case of a
|
|
||||||
performance the actors, singers, musicians, dancers, and
|
|
||||||
other persons who act, sing, deliver, declaim, play in,
|
|
||||||
interpret or otherwise perform literary or artistic works
|
|
||||||
or expressions of folklore; (ii) in the case of a
|
|
||||||
phonogram the producer being the person or legal entity
|
|
||||||
who first fixes the sounds of a performance or other
|
|
||||||
sounds; and, (iii) in the case of broadcasts, the
|
|
||||||
organization that transmits the broadcast.</li>
|
|
||||||
|
|
||||||
<li><strong>"Work"</strong> means the literary and/or
|
|
||||||
artistic work offered under the terms of this License
|
|
||||||
including without limitation any production in the
|
|
||||||
literary, scientific and artistic domain, whatever may be
|
|
||||||
the mode or form of its expression including digital
|
|
||||||
form, such as a book, pamphlet and other writing; a
|
|
||||||
lecture, address, sermon or other work of the same
|
|
||||||
nature; a dramatic or dramatico-musical work; a
|
|
||||||
choreographic work or entertainment in dumb show; a
|
|
||||||
musical composition with or without words; a
|
|
||||||
cinematographic work to which are assimilated works
|
|
||||||
expressed by a process analogous to cinematography; a
|
|
||||||
work of drawing, painting, architecture, sculpture,
|
|
||||||
engraving or lithography; a photographic work to which
|
|
||||||
are assimilated works expressed by a process analogous to
|
|
||||||
photography; a work of applied art; an illustration, map,
|
|
||||||
plan, sketch or three-dimensional work relative to
|
|
||||||
geography, topography, architecture or science; a
|
|
||||||
performance; a broadcast; a phonogram; a compilation of
|
|
||||||
data to the extent it is protected as a copyrightable
|
|
||||||
work; or a work performed by a variety or circus
|
|
||||||
performer to the extent it is not otherwise considered a
|
|
||||||
literary or artistic work.</li>
|
|
||||||
|
|
||||||
<li><strong>"You"</strong> means an individual or entity
|
|
||||||
exercising rights under this License who has not
|
|
||||||
previously violated the terms of this License with
|
|
||||||
respect to the Work, or who has received express
|
|
||||||
permission from the Licensor to exercise rights under
|
|
||||||
this License despite a previous violation.</li>
|
|
||||||
|
|
||||||
<li><strong>"Publicly Perform"</strong> means to perform
|
|
||||||
public recitations of the Work and to communicate to the
|
|
||||||
public those public recitations, by any means or process,
|
|
||||||
including by wire or wireless means or public digital
|
|
||||||
performances; to make available to the public Works in
|
|
||||||
such a way that members of the public may access these
|
|
||||||
Works from a place and at a place individually chosen by
|
|
||||||
them; to perform the Work to the public by any means or
|
|
||||||
process and the communication to the public of the
|
|
||||||
performances of the Work, including by public digital
|
|
||||||
performance; to broadcast and rebroadcast the Work by any
|
|
||||||
means including signs, sounds or images.</li>
|
|
||||||
|
|
||||||
<li><strong>"Reproduce"</strong> means to make copies of
|
|
||||||
the Work by any means including without limitation by
|
|
||||||
sound or visual recordings and the right of fixation and
|
|
||||||
reproducing fixations of the Work, including storage of a
|
|
||||||
protected performance or phonogram in digital form or
|
|
||||||
other electronic medium.</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p><strong>2. Fair Dealing Rights.</strong> Nothing in this
|
|
||||||
License is intended to reduce, limit, or restrict any uses
|
|
||||||
free from copyright or rights arising from limitations or
|
|
||||||
exceptions that are provided for in connection with the
|
|
||||||
copyright protection under copyright law or other
|
|
||||||
applicable laws.</p>
|
|
||||||
|
|
||||||
<p><strong>3. License Grant.</strong> Subject to the terms
|
|
||||||
and conditions of this License, Licensor hereby grants You
|
|
||||||
a worldwide, royalty-free, non-exclusive, perpetual (for
|
|
||||||
the duration of the applicable copyright) license to
|
|
||||||
exercise the rights in the Work as stated below:</p>
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li>to Reproduce the Work, to incorporate the Work into
|
|
||||||
one or more Collections, and to Reproduce the Work as
|
|
||||||
incorporated in the Collections;</li>
|
|
||||||
|
|
||||||
<li>to create and Reproduce Adaptations provided that any
|
|
||||||
such Adaptation, including any translation in any medium,
|
|
||||||
takes reasonable steps to clearly label, demarcate or
|
|
||||||
otherwise identify that changes were made to the original
|
|
||||||
Work. For example, a translation could be marked "The
|
|
||||||
original work was translated from English to Spanish," or
|
|
||||||
a modification could indicate "The original work has been
|
|
||||||
modified.";</li>
|
|
||||||
|
|
||||||
<li>to Distribute and Publicly Perform the Work including
|
|
||||||
as incorporated in Collections; and,</li>
|
|
||||||
|
|
||||||
<li>to Distribute and Publicly Perform Adaptations.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<p>For the avoidance of doubt:</p>
|
|
||||||
|
|
||||||
<ol type="i">
|
|
||||||
<li><strong>Non-waivable Compulsory License
|
|
||||||
Schemes</strong>. In those jurisdictions in which the
|
|
||||||
right to collect royalties through any statutory or
|
|
||||||
compulsory licensing scheme cannot be waived, the
|
|
||||||
Licensor reserves the exclusive right to collect such
|
|
||||||
royalties for any exercise by You of the rights
|
|
||||||
granted under this License;</li>
|
|
||||||
|
|
||||||
<li><strong>Waivable Compulsory License
|
|
||||||
Schemes</strong>. In those jurisdictions in which the
|
|
||||||
right to collect royalties through any statutory or
|
|
||||||
compulsory licensing scheme can be waived, the
|
|
||||||
Licensor waives the exclusive right to collect such
|
|
||||||
royalties for any exercise by You of the rights
|
|
||||||
granted under this License; and,</li>
|
|
||||||
|
|
||||||
<li><strong>Voluntary License Schemes</strong>. The
|
|
||||||
Licensor waives the right to collect royalties,
|
|
||||||
whether individually or, in the event that the
|
|
||||||
Licensor is a member of a collecting society that
|
|
||||||
administers voluntary licensing schemes, via that
|
|
||||||
society, from any exercise by You of the rights
|
|
||||||
granted under this License.</li>
|
|
||||||
</ol>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p>The above rights may be exercised in all media and
|
|
||||||
formats whether now known or hereafter devised. The above
|
|
||||||
rights include the right to make such modifications as are
|
|
||||||
technically necessary to exercise the rights in other media
|
|
||||||
and formats. Subject to Section 8(f), all rights not
|
|
||||||
expressly granted by Licensor are hereby reserved.</p>
|
|
||||||
|
|
||||||
<p><strong>4. Restrictions.</strong> The license granted in
|
|
||||||
Section 3 above is expressly made subject to and limited by
|
|
||||||
the following restrictions:</p>
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li>You may Distribute or Publicly Perform the Work only
|
|
||||||
under the terms of this License. You must include a copy
|
|
||||||
of, or the Uniform Resource Identifier (URI) for, this
|
|
||||||
License with every copy of the Work You Distribute or
|
|
||||||
Publicly Perform. You may not offer or impose any terms
|
|
||||||
on the Work that restrict the terms of this License or
|
|
||||||
the ability of the recipient of the Work to exercise the
|
|
||||||
rights granted to that recipient under the terms of the
|
|
||||||
License. You may not sublicense the Work. You must keep
|
|
||||||
intact all notices that refer to this License and to the
|
|
||||||
disclaimer of warranties with every copy of the Work You
|
|
||||||
Distribute or Publicly Perform. When You Distribute or
|
|
||||||
Publicly Perform the Work, You may not impose any
|
|
||||||
effective technological measures on the Work that
|
|
||||||
restrict the ability of a recipient of the Work from You
|
|
||||||
to exercise the rights granted to that recipient under
|
|
||||||
the terms of the License. This Section 4(a) applies to
|
|
||||||
the Work as incorporated in a Collection, but this does
|
|
||||||
not require the Collection apart from the Work itself to
|
|
||||||
be made subject to the terms of this License. If You
|
|
||||||
create a Collection, upon notice from any Licensor You
|
|
||||||
must, to the extent practicable, remove from the
|
|
||||||
Collection any credit as required by Section 4(c), as
|
|
||||||
requested. If You create an Adaptation, upon notice from
|
|
||||||
any Licensor You must, to the extent practicable, remove
|
|
||||||
from the Adaptation any credit as required by Section
|
|
||||||
4(c), as requested.</li>
|
|
||||||
|
|
||||||
<li>You may Distribute or Publicly Perform an Adaptation
|
|
||||||
only under the terms of: (i) this License; (ii) a later
|
|
||||||
version of this License with the same License Elements as
|
|
||||||
this License; (iii) a Creative Commons jurisdiction
|
|
||||||
license (either this or a later license version) that
|
|
||||||
contains the same License Elements as this License (e.g.,
|
|
||||||
Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons
|
|
||||||
Compatible License. If you license the Adaptation under
|
|
||||||
one of the licenses mentioned in (iv), you must comply
|
|
||||||
with the terms of that license. If you license the
|
|
||||||
Adaptation under the terms of any of the licenses
|
|
||||||
mentioned in (i), (ii) or (iii) (the "Applicable
|
|
||||||
License"), you must comply with the terms of the
|
|
||||||
Applicable License generally and the following
|
|
||||||
provisions: (I) You must include a copy of, or the URI
|
|
||||||
for, the Applicable License with every copy of each
|
|
||||||
Adaptation You Distribute or Publicly Perform; (II) You
|
|
||||||
may not offer or impose any terms on the Adaptation that
|
|
||||||
restrict the terms of the Applicable License or the
|
|
||||||
ability of the recipient of the Adaptation to exercise
|
|
||||||
the rights granted to that recipient under the terms of
|
|
||||||
the Applicable License; (III) You must keep intact all
|
|
||||||
notices that refer to the Applicable License and to the
|
|
||||||
disclaimer of warranties with every copy of the Work as
|
|
||||||
included in the Adaptation You Distribute or Publicly
|
|
||||||
Perform; (IV) when You Distribute or Publicly Perform the
|
|
||||||
Adaptation, You may not impose any effective
|
|
||||||
technological measures on the Adaptation that restrict
|
|
||||||
the ability of a recipient of the Adaptation from You to
|
|
||||||
exercise the rights granted to that recipient under the
|
|
||||||
terms of the Applicable License. This Section 4(b)
|
|
||||||
applies to the Adaptation as incorporated in a
|
|
||||||
Collection, but this does not require the Collection
|
|
||||||
apart from the Adaptation itself to be made subject to
|
|
||||||
the terms of the Applicable License.</li>
|
|
||||||
|
|
||||||
<li>If You Distribute, or Publicly Perform the Work or
|
|
||||||
any Adaptations or Collections, You must, unless a
|
|
||||||
request has been made pursuant to Section 4(a), keep
|
|
||||||
intact all copyright notices for the Work and provide,
|
|
||||||
reasonable to the medium or means You are utilizing: (i)
|
|
||||||
the name of the Original Author (or pseudonym, if
|
|
||||||
applicable) if supplied, and/or if the Original Author
|
|
||||||
and/or Licensor designate another party or parties (e.g.,
|
|
||||||
a sponsor institute, publishing entity, journal) for
|
|
||||||
attribution ("Attribution Parties") in Licensor's
|
|
||||||
copyright notice, terms of service or by other reasonable
|
|
||||||
means, the name of such party or parties; (ii) the title
|
|
||||||
of the Work if supplied; (iii) to the extent reasonably
|
|
||||||
practicable, the URI, if any, that Licensor specifies to
|
|
||||||
be associated with the Work, unless such URI does not
|
|
||||||
refer to the copyright notice or licensing information
|
|
||||||
for the Work; and (iv) , consistent with Ssection 3(b),
|
|
||||||
in the case of an Adaptation, a credit identifying the
|
|
||||||
use of the Work in the Adaptation (e.g., "French
|
|
||||||
translation of the Work by Original Author," or
|
|
||||||
"Screenplay based on original Work by Original Author").
|
|
||||||
The credit required by this Section 4(c) may be
|
|
||||||
implemented in any reasonable manner; provided, however,
|
|
||||||
that in the case of a Adaptation or Collection, at a
|
|
||||||
minimum such credit will appear, if a credit for all
|
|
||||||
contributing authors of the Adaptation or Collection
|
|
||||||
appears, then as part of these credits and in a manner at
|
|
||||||
least as prominent as the credits for the other
|
|
||||||
contributing authors. For the avoidance of doubt, You may
|
|
||||||
only use the credit required by this Section for the
|
|
||||||
purpose of attribution in the manner set out above and,
|
|
||||||
by exercising Your rights under this License, You may not
|
|
||||||
implicitly or explicitly assert or imply any connection
|
|
||||||
with, sponsorship or endorsement by the Original Author,
|
|
||||||
Licensor and/or Attribution Parties, as appropriate, of
|
|
||||||
You or Your use of the Work, without the separate,
|
|
||||||
express prior written permission of the Original Author,
|
|
||||||
Licensor and/or Attribution Parties.</li>
|
|
||||||
|
|
||||||
<li>Except as otherwise agreed in writing by the Licensor
|
|
||||||
or as may be otherwise permitted by applicable law, if
|
|
||||||
You Reproduce, Distribute or Publicly Perform the Work
|
|
||||||
either by itself or as part of any Adaptations or
|
|
||||||
Collections, You must not distort, mutilate, modify or
|
|
||||||
take other derogatory action in relation to the Work
|
|
||||||
which would be prejudicial to the Original Author's honor
|
|
||||||
or reputation. Licensor agrees that in those
|
|
||||||
jurisdictions (e.g. Japan), in which any exercise of the
|
|
||||||
right granted in Section 3(b) of this License (the right
|
|
||||||
to make Adaptations) would be deemed to be a distortion,
|
|
||||||
mutilation, modification or other derogatory action
|
|
||||||
prejudicial to the Original Author's honor and
|
|
||||||
reputation, the Licensor will waive or not assert, as
|
|
||||||
appropriate, this Section, to the fullest extent
|
|
||||||
permitted by the applicable national law, to enable You
|
|
||||||
to reasonably exercise Your right under Section 3(b) of
|
|
||||||
this License (right to make Adaptations) but not
|
|
||||||
otherwise.</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p><strong>5. Representations, Warranties and
|
|
||||||
Disclaimer</strong></p>
|
|
||||||
|
|
||||||
<p>UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN
|
|
||||||
WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO
|
|
||||||
REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE
|
|
||||||
WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING,
|
|
||||||
WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE
|
|
||||||
ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE
|
|
||||||
PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
|
|
||||||
SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED
|
|
||||||
WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.</p>
|
|
||||||
|
|
||||||
<p><strong>6. Limitation on Liability.</strong> EXCEPT TO
|
|
||||||
THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL
|
|
||||||
LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY
|
|
||||||
SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY
|
|
||||||
DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK,
|
|
||||||
EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGES.</p>
|
|
||||||
|
|
||||||
<p><strong>7. Termination</strong></p>
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li>This License and the rights granted hereunder will
|
|
||||||
terminate automatically upon any breach by You of the
|
|
||||||
terms of this License. Individuals or entities who have
|
|
||||||
received Adaptations or Collections from You under this
|
|
||||||
License, however, will not have their licenses terminated
|
|
||||||
provided such individuals or entities remain in full
|
|
||||||
compliance with those licenses. Sections 1, 2, 5, 6, 7,
|
|
||||||
and 8 will survive any termination of this License.</li>
|
|
||||||
|
|
||||||
<li>Subject to the above terms and conditions, the
|
|
||||||
license granted here is perpetual (for the duration of
|
|
||||||
the applicable copyright in the Work). Notwithstanding
|
|
||||||
the above, Licensor reserves the right to release the
|
|
||||||
Work under different license terms or to stop
|
|
||||||
distributing the Work at any time; provided, however that
|
|
||||||
any such election will not serve to withdraw this License
|
|
||||||
(or any other license that has been, or is required to
|
|
||||||
be, granted under the terms of this License), and this
|
|
||||||
License will continue in full force and effect unless
|
|
||||||
terminated as stated above.</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p><strong>8. Miscellaneous</strong></p>
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li>Each time You Distribute or Publicly Perform the Work
|
|
||||||
or a Collection, the Licensor offers to the recipient a
|
|
||||||
license to the Work on the same terms and conditions as
|
|
||||||
the license granted to You under this License.</li>
|
|
||||||
|
|
||||||
<li>Each time You Distribute or Publicly Perform an
|
|
||||||
Adaptation, Licensor offers to the recipient a license to
|
|
||||||
the original Work on the same terms and conditions as the
|
|
||||||
license granted to You under this License.</li>
|
|
||||||
|
|
||||||
<li>If any provision of this License is invalid or
|
|
||||||
unenforceable under applicable law, it shall not affect
|
|
||||||
the validity or enforceability of the remainder of the
|
|
||||||
terms of this License, and without further action by the
|
|
||||||
parties to this agreement, such provision shall be
|
|
||||||
reformed to the minimum extent necessary to make such
|
|
||||||
provision valid and enforceable.</li>
|
|
||||||
|
|
||||||
<li>No term or provision of this License shall be deemed
|
|
||||||
waived and no breach consented to unless such waiver or
|
|
||||||
consent shall be in writing and signed by the party to be
|
|
||||||
charged with such waiver or consent.</li>
|
|
||||||
|
|
||||||
<li>This License constitutes the entire agreement between
|
|
||||||
the parties with respect to the Work licensed here. There
|
|
||||||
are no understandings, agreements or representations with
|
|
||||||
respect to the Work not specified here. Licensor shall
|
|
||||||
not be bound by any additional provisions that may appear
|
|
||||||
in any communication from You. This License may not be
|
|
||||||
modified without the mutual written agreement of the
|
|
||||||
Licensor and You.</li>
|
|
||||||
|
|
||||||
<li>The rights granted under, and the subject matter
|
|
||||||
referenced, in this License were drafted utilizing the
|
|
||||||
terminology of the Berne Convention for the Protection of
|
|
||||||
Literary and Artistic Works (as amended on September 28,
|
|
||||||
1979), the Rome Convention of 1961, the WIPO Copyright
|
|
||||||
Treaty of 1996, the WIPO Performances and Phonograms
|
|
||||||
Treaty of 1996 and the Universal Copyright Convention (as
|
|
||||||
revised on July 24, 1971). These rights and subject
|
|
||||||
matter take effect in the relevant jurisdiction in which
|
|
||||||
the License terms are sought to be enforced according to
|
|
||||||
the corresponding provisions of the implementation of
|
|
||||||
those treaty provisions in the applicable national law.
|
|
||||||
If the standard suite of rights granted under applicable
|
|
||||||
copyright law includes additional rights not granted
|
|
||||||
under this License, such additional rights are deemed to
|
|
||||||
be included in the License; this License is not intended
|
|
||||||
to restrict the license of any rights under applicable
|
|
||||||
law.</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
<html>
|
|
484
license.txt
Normal file
@ -0,0 +1,484 @@
|
|||||||
|
Löve Frames is licensed under the Creative
|
||||||
|
Commons Attribution-ShareAlike 3.0 Unported (CC
|
||||||
|
BY-SA 3.0) license. Below is the entire legal code
|
||||||
|
for the license. For more information on this
|
||||||
|
license, please visit this web page:
|
||||||
|
http://creativecommons.org/licenses/by-sa/3.0/
|
||||||
|
|
||||||
|
License
|
||||||
|
|
||||||
|
THE WORK (AS DEFINED BELOW) IS
|
||||||
|
PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS
|
||||||
|
PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK
|
||||||
|
IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE
|
||||||
|
LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED
|
||||||
|
UNDER THIS LICENSE OR COPYRIGHT LAW IS
|
||||||
|
PROHIBITED.
|
||||||
|
|
||||||
|
BY EXERCISING ANY RIGHTS TO THE
|
||||||
|
WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
|
||||||
|
BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT
|
||||||
|
THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT,
|
||||||
|
THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE
|
||||||
|
IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS
|
||||||
|
AND CONDITIONS.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
|
||||||
|
|
||||||
|
"Adaptation" means a work based upon the Work,
|
||||||
|
or upon the Work and other pre-existing works,
|
||||||
|
such as a translation, adaptation, derivative
|
||||||
|
work, arrangement of music or other alterations of
|
||||||
|
a literary or artistic work, or phonogram or
|
||||||
|
performance and includes cinematographic
|
||||||
|
adaptations or any other form in which the Work
|
||||||
|
may be recast, transformed, or adapted including
|
||||||
|
in any form recognizably derived from the
|
||||||
|
original, except that a work that constitutes a
|
||||||
|
Collection will not be considered an Adaptation
|
||||||
|
for the purpose of this License. For the avoidance
|
||||||
|
of doubt, where the Work is a musical work,
|
||||||
|
performance or phonogram, the synchronization of
|
||||||
|
the Work in timed-relation with a moving image
|
||||||
|
("synching") will be considered an Adaptation
|
||||||
|
for the purpose of this License.
|
||||||
|
|
||||||
|
"Collection" means a collection of literary or
|
||||||
|
artistic works, such as encyclopedias and
|
||||||
|
anthologies, or performances, phonograms or
|
||||||
|
broadcasts, or other works or subject matter other
|
||||||
|
than works listed in Section 1(f) below, which, by
|
||||||
|
reason of the selection and arrangement of their
|
||||||
|
contents, constitute intellectual creations, in
|
||||||
|
which the Work is included in its entirety in
|
||||||
|
unmodified form along with one or more other
|
||||||
|
contributions, each constituting separate and
|
||||||
|
independent works in themselves, which together
|
||||||
|
are assembled into a collective whole. A work that
|
||||||
|
constitutes a Collection will not be considered an
|
||||||
|
Adaptation (as defined below) for the purposes of
|
||||||
|
this License.
|
||||||
|
"Creative Commons Compatible
|
||||||
|
License" means a license that is listed at
|
||||||
|
http://creativecommons.org/compatiblelicenses that
|
||||||
|
has been approved by Creative Commons as being
|
||||||
|
essentially equivalent to this License, including,
|
||||||
|
at a minimum, because that license: (i) contains
|
||||||
|
terms that have the same purpose, meaning and
|
||||||
|
effect as the License Elements of this License;
|
||||||
|
and, (ii) explicitly permits the relicensing of
|
||||||
|
adaptations of works made available under that
|
||||||
|
license under this License or a Creative Commons
|
||||||
|
jurisdiction license with the same License
|
||||||
|
Elements as this License.
|
||||||
|
"Distribute"
|
||||||
|
means to make available to the public the original
|
||||||
|
and copies of the Work or Adaptation, as
|
||||||
|
appropriate, through sale or other transfer of
|
||||||
|
ownership.
|
||||||
|
"License Elements" means the
|
||||||
|
following high-level license attributes as
|
||||||
|
selected by Licensor and indicated in the title of
|
||||||
|
this License: Attribution, ShareAlike.
|
||||||
|
|
||||||
|
"Licensor" means the individual, individuals,
|
||||||
|
entity or entities that offer(s) the Work under
|
||||||
|
the terms of this License.
|
||||||
|
"Original
|
||||||
|
Author" means, in the case of a literary or
|
||||||
|
artistic work, the individual, individuals, entity
|
||||||
|
or entities who created the Work or if no
|
||||||
|
individual or entity can be identified, the
|
||||||
|
publisher; and in addition (i) in the case of a
|
||||||
|
performance the actors, singers, musicians,
|
||||||
|
dancers, and other persons who act, sing, deliver,
|
||||||
|
declaim, play in, interpret or otherwise perform
|
||||||
|
literary or artistic works or expressions of
|
||||||
|
folklore; (ii) in the case of a phonogram the
|
||||||
|
producer being the person or legal entity who
|
||||||
|
first fixes the sounds of a performance or other
|
||||||
|
sounds; and, (iii) in the case of broadcasts, the
|
||||||
|
organization that transmits the broadcast.
|
||||||
|
|
||||||
|
"Work" means the literary and/or artistic work
|
||||||
|
offered under the terms of this License including
|
||||||
|
without limitation any production in the literary,
|
||||||
|
scientific and artistic domain, whatever may be
|
||||||
|
the mode or form of its expression including
|
||||||
|
digital form, such as a book, pamphlet and other
|
||||||
|
writing; a lecture, address, sermon or other work
|
||||||
|
of the same nature; a dramatic or
|
||||||
|
dramatico-musical work; a choreographic work or
|
||||||
|
entertainment in dumb show; a musical composition
|
||||||
|
with or without words; a cinematographic work to
|
||||||
|
which are assimilated works expressed by a process
|
||||||
|
analogous to cinematography; a work of drawing,
|
||||||
|
painting, architecture, sculpture, engraving or
|
||||||
|
lithography; a photographic work to which are
|
||||||
|
assimilated works expressed by a process analogous
|
||||||
|
to photography; a work of applied art; an
|
||||||
|
illustration, map, plan, sketch or
|
||||||
|
three-dimensional work relative to geography,
|
||||||
|
topography, architecture or science; a
|
||||||
|
performance; a broadcast; a phonogram; a
|
||||||
|
compilation of data to the extent it is protected
|
||||||
|
as a copyrightable work; or a work performed by a
|
||||||
|
variety or circus performer to the extent it is
|
||||||
|
not otherwise considered a literary or artistic
|
||||||
|
work.
|
||||||
|
"You" means an individual or entity
|
||||||
|
exercising rights under this License who has not
|
||||||
|
previously violated the terms of this License with
|
||||||
|
respect to the Work, or who has received express
|
||||||
|
permission from the Licensor to exercise rights
|
||||||
|
under this License despite a previous violation.
|
||||||
|
|
||||||
|
"Publicly Perform" means to perform public
|
||||||
|
recitations of the Work and to communicate to the
|
||||||
|
public those public recitations, by any means or
|
||||||
|
process, including by wire or wireless means or
|
||||||
|
public digital performances; to make available to
|
||||||
|
the public Works in such a way that members of the
|
||||||
|
public may access these Works from a place and at
|
||||||
|
a place individually chosen by them; to perform
|
||||||
|
the Work to the public by any means or process and
|
||||||
|
the communication to the public of the
|
||||||
|
performances of the Work, including by public
|
||||||
|
digital performance; to broadcast and rebroadcast
|
||||||
|
the Work by any means including signs, sounds or
|
||||||
|
images.
|
||||||
|
"Reproduce" means to make copies of
|
||||||
|
the Work by any means including without limitation
|
||||||
|
by sound or visual recordings and the right of
|
||||||
|
fixation and reproducing fixations of the Work,
|
||||||
|
including storage of a protected performance or
|
||||||
|
phonogram in digital form or other electronic
|
||||||
|
medium.
|
||||||
|
|
||||||
|
2. Fair Dealing Rights. Nothing in this
|
||||||
|
License is intended to reduce, limit, or restrict
|
||||||
|
any uses free from copyright or rights arising
|
||||||
|
from limitations or exceptions that are provided
|
||||||
|
for in connection with the copyright protection
|
||||||
|
under copyright law or other applicable
|
||||||
|
laws.
|
||||||
|
|
||||||
|
3. License Grant. Subject to the terms
|
||||||
|
and conditions of this License, Licensor hereby
|
||||||
|
grants You a worldwide, royalty-free,
|
||||||
|
non-exclusive, perpetual (for the duration of the
|
||||||
|
applicable copyright) license to exercise the
|
||||||
|
rights in the Work as stated below:
|
||||||
|
|
||||||
|
to
|
||||||
|
Reproduce the Work, to incorporate the Work into
|
||||||
|
one or more Collections, and to Reproduce the Work
|
||||||
|
as incorporated in the Collections;
|
||||||
|
to create
|
||||||
|
and Reproduce Adaptations provided that any such
|
||||||
|
Adaptation, including any translation in any
|
||||||
|
medium, takes reasonable steps to clearly label,
|
||||||
|
demarcate or otherwise identify that changes were
|
||||||
|
made to the original Work. For example, a
|
||||||
|
translation could be marked "The original work
|
||||||
|
was translated from English to Spanish," or a
|
||||||
|
modification could indicate "The original work
|
||||||
|
has been modified.";
|
||||||
|
to Distribute and
|
||||||
|
Publicly Perform the Work including as
|
||||||
|
incorporated in Collections; and,
|
||||||
|
to
|
||||||
|
Distribute and Publicly Perform Adaptations.
|
||||||
|
|
||||||
|
|
||||||
|
For the avoidance of doubt:
|
||||||
|
Non-waivable
|
||||||
|
Compulsory License Schemes. In those jurisdictions
|
||||||
|
in which the right to collect royalties through
|
||||||
|
any statutory or compulsory licensing scheme
|
||||||
|
cannot be waived, the Licensor reserves the
|
||||||
|
exclusive right to collect such royalties for any
|
||||||
|
exercise by You of the rights granted under this
|
||||||
|
License;
|
||||||
|
Waivable Compulsory License
|
||||||
|
Schemes. In those jurisdictions in which the right
|
||||||
|
to collect royalties through any statutory or
|
||||||
|
compulsory licensing scheme can be waived, the
|
||||||
|
Licensor waives the exclusive right to collect
|
||||||
|
such royalties for any exercise by You of the
|
||||||
|
rights granted under this License; and,
|
||||||
|
|
||||||
|
Voluntary License Schemes. The Licensor waives the
|
||||||
|
right to collect royalties, whether individually
|
||||||
|
or, in the event that the Licensor is a member of
|
||||||
|
a collecting society that administers voluntary
|
||||||
|
licensing schemes, via that society, from any
|
||||||
|
exercise by You of the rights granted under this
|
||||||
|
License.
|
||||||
|
|
||||||
|
The above rights may be exercised in
|
||||||
|
all media and formats whether now known or
|
||||||
|
hereafter devised. The above rights include the
|
||||||
|
right to make such modifications as are
|
||||||
|
technically necessary to exercise the rights in
|
||||||
|
other media and formats. Subject to Section 8(f),
|
||||||
|
all rights not expressly granted by Licensor are
|
||||||
|
hereby reserved.
|
||||||
|
|
||||||
|
4. Restrictions. The license
|
||||||
|
granted in Section 3 above is expressly made
|
||||||
|
subject to and limited by the following
|
||||||
|
restrictions:
|
||||||
|
|
||||||
|
You may Distribute or
|
||||||
|
Publicly Perform the Work only under the terms of
|
||||||
|
this License. You must include a copy of, or the
|
||||||
|
Uniform Resource Identifier (URI) for, this
|
||||||
|
License with every copy of the Work You Distribute
|
||||||
|
or Publicly Perform. You may not offer or impose
|
||||||
|
any terms on the Work that restrict the terms of
|
||||||
|
this License or the ability of the recipient of
|
||||||
|
the Work to exercise the rights granted to that
|
||||||
|
recipient under the terms of the License. You may
|
||||||
|
not sublicense the Work. You must keep intact all
|
||||||
|
notices that refer to this License and to the
|
||||||
|
disclaimer of warranties with every copy of the
|
||||||
|
Work You Distribute or Publicly Perform. When You
|
||||||
|
Distribute or Publicly Perform the Work, You may
|
||||||
|
not impose any effective technological measures on
|
||||||
|
the Work that restrict the ability of a recipient
|
||||||
|
of the Work from You to exercise the rights
|
||||||
|
granted to that recipient under the terms of the
|
||||||
|
License. This Section 4(a) applies to the Work as
|
||||||
|
incorporated in a Collection, but this does not
|
||||||
|
require the Collection apart from the Work itself
|
||||||
|
to be made subject to the terms of this License.
|
||||||
|
If You create a Collection, upon notice from any
|
||||||
|
Licensor You must, to the extent practicable,
|
||||||
|
remove from the Collection any credit as required
|
||||||
|
by Section 4(c), as requested. If You create an
|
||||||
|
Adaptation, upon notice from any Licensor You
|
||||||
|
must, to the extent practicable, remove from the
|
||||||
|
Adaptation any credit as required by Section 4(c),
|
||||||
|
as requested.
|
||||||
|
You may Distribute or Publicly
|
||||||
|
Perform an Adaptation only under the terms of: (i)
|
||||||
|
this License; (ii) a later version of this License
|
||||||
|
with the same License Elements as this License;
|
||||||
|
(iii) a Creative Commons jurisdiction license
|
||||||
|
(either this or a later license version) that
|
||||||
|
contains the same License Elements as this License
|
||||||
|
(e.g., Attribution-ShareAlike 3.0 US)); (iv) a
|
||||||
|
Creative Commons Compatible License. If you
|
||||||
|
license the Adaptation under one of the licenses
|
||||||
|
mentioned in (iv), you must comply with the terms
|
||||||
|
of that license. If you license the Adaptation
|
||||||
|
under the terms of any of the licenses mentioned
|
||||||
|
in (i), (ii) or (iii) (the "Applicable
|
||||||
|
License"), you must comply with the terms of the
|
||||||
|
Applicable License generally and the following
|
||||||
|
provisions: (I) You must include a copy of, or the
|
||||||
|
URI for, the Applicable License with every copy of
|
||||||
|
each Adaptation You Distribute or Publicly
|
||||||
|
Perform; (II) You may not offer or impose any
|
||||||
|
terms on the Adaptation that restrict the terms of
|
||||||
|
the Applicable License or the ability of the
|
||||||
|
recipient of the Adaptation to exercise the rights
|
||||||
|
granted to that recipient under the terms of the
|
||||||
|
Applicable License; (III) You must keep intact all
|
||||||
|
notices that refer to the Applicable License and
|
||||||
|
to the disclaimer of warranties with every copy of
|
||||||
|
the Work as included in the Adaptation You
|
||||||
|
Distribute or Publicly Perform; (IV) when You
|
||||||
|
Distribute or Publicly Perform the Adaptation, You
|
||||||
|
may not impose any effective technological
|
||||||
|
measures on the Adaptation that restrict the
|
||||||
|
ability of a recipient of the Adaptation from You
|
||||||
|
to exercise the rights granted to that recipient
|
||||||
|
under the terms of the Applicable License. This
|
||||||
|
Section 4(b) applies to the Adaptation as
|
||||||
|
incorporated in a Collection, but this does not
|
||||||
|
require the Collection apart from the Adaptation
|
||||||
|
itself to be made subject to the terms of the
|
||||||
|
Applicable License.
|
||||||
|
If You Distribute, or
|
||||||
|
Publicly Perform the Work or any Adaptations or
|
||||||
|
Collections, You must, unless a request has been
|
||||||
|
made pursuant to Section 4(a), keep intact all
|
||||||
|
copyright notices for the Work and provide,
|
||||||
|
reasonable to the medium or means You are
|
||||||
|
utilizing: (i) the name of the Original Author (or
|
||||||
|
pseudonym, if applicable) if supplied, and/or if
|
||||||
|
the Original Author and/or Licensor designate
|
||||||
|
another party or parties (e.g., a sponsor
|
||||||
|
institute, publishing entity, journal) for
|
||||||
|
attribution ("Attribution Parties") in
|
||||||
|
Licensor's copyright notice, terms of service or
|
||||||
|
by other reasonable means, the name of such party
|
||||||
|
or parties; (ii) the title of the Work if
|
||||||
|
supplied; (iii) to the extent reasonably
|
||||||
|
practicable, the URI, if any, that Licensor
|
||||||
|
specifies to be associated with the Work, unless
|
||||||
|
such URI does not refer to the copyright notice or
|
||||||
|
licensing information for the Work; and (iv) ,
|
||||||
|
consistent with Ssection 3(b), in the case of an
|
||||||
|
Adaptation, a credit identifying the use of the
|
||||||
|
Work in the Adaptation (e.g., "French translation
|
||||||
|
of the Work by Original Author," or "Screenplay
|
||||||
|
based on original Work by Original Author"). The
|
||||||
|
credit required by this Section 4(c) may be
|
||||||
|
implemented in any reasonable manner; provided,
|
||||||
|
however, that in the case of a Adaptation or
|
||||||
|
Collection, at a minimum such credit will appear,
|
||||||
|
if a credit for all contributing authors of the
|
||||||
|
Adaptation or Collection appears, then as part of
|
||||||
|
these credits and in a manner at least as
|
||||||
|
prominent as the credits for the other
|
||||||
|
contributing authors. For the avoidance of doubt,
|
||||||
|
You may only use the credit required by this
|
||||||
|
Section for the purpose of attribution in the
|
||||||
|
manner set out above and, by exercising Your
|
||||||
|
rights under this License, You may not implicitly
|
||||||
|
or explicitly assert or imply any connection with,
|
||||||
|
sponsorship or endorsement by the Original Author,
|
||||||
|
Licensor and/or Attribution Parties, as
|
||||||
|
appropriate, of You or Your use of the Work,
|
||||||
|
without the separate, express prior written
|
||||||
|
permission of the Original Author, Licensor and/or
|
||||||
|
Attribution Parties.
|
||||||
|
Except as otherwise
|
||||||
|
agreed in writing by the Licensor or as may be
|
||||||
|
otherwise permitted by applicable law, if You
|
||||||
|
Reproduce, Distribute or Publicly Perform the Work
|
||||||
|
either by itself or as part of any Adaptations or
|
||||||
|
Collections, You must not distort, mutilate,
|
||||||
|
modify or take other derogatory action in relation
|
||||||
|
to the Work which would be prejudicial to the
|
||||||
|
Original Author's honor or reputation. Licensor
|
||||||
|
agrees that in those jurisdictions (e.g. Japan),
|
||||||
|
in which any exercise of the right granted in
|
||||||
|
Section 3(b) of this License (the right to make
|
||||||
|
Adaptations) would be deemed to be a distortion,
|
||||||
|
mutilation, modification or other derogatory
|
||||||
|
action prejudicial to the Original Author's honor
|
||||||
|
and reputation, the Licensor will waive or not
|
||||||
|
assert, as appropriate, this Section, to the
|
||||||
|
fullest extent permitted by the applicable
|
||||||
|
national law, to enable You to reasonably exercise
|
||||||
|
Your right under Section 3(b) of this License
|
||||||
|
(right to make Adaptations) but not
|
||||||
|
otherwise.
|
||||||
|
|
||||||
|
5. Representations, Warranties and
|
||||||
|
Disclaimer
|
||||||
|
|
||||||
|
UNLESS OTHERWISE MUTUALLY AGREED TO
|
||||||
|
BY THE PARTIES IN WRITING, LICENSOR OFFERS THE
|
||||||
|
WORK AS-IS AND MAKES NO REPRESENTATIONS OR
|
||||||
|
WARRANTIES OF ANY KIND CONCERNING THE WORK,
|
||||||
|
EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
|
||||||
|
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF
|
||||||
|
TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT
|
||||||
|
OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF
|
||||||
|
ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
|
||||||
|
SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF
|
||||||
|
IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT
|
||||||
|
APPLY TO YOU.
|
||||||
|
|
||||||
|
6. Limitation on Liability.
|
||||||
|
EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW,
|
||||||
|
IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
|
||||||
|
LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL,
|
||||||
|
CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
|
||||||
|
ARISING OUT OF THIS LICENSE OR THE USE OF THE
|
||||||
|
WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
7. Termination
|
||||||
|
|
||||||
|
|
||||||
|
This License and the rights granted hereunder
|
||||||
|
will terminate automatically upon any breach by
|
||||||
|
You of the terms of this License. Individuals or
|
||||||
|
entities who have received Adaptations or
|
||||||
|
Collections from You under this License, however,
|
||||||
|
will not have their licenses terminated provided
|
||||||
|
such individuals or entities remain in full
|
||||||
|
compliance with those licenses. Sections 1, 2, 5,
|
||||||
|
6, 7, and 8 will survive any termination of this
|
||||||
|
License.
|
||||||
|
Subject to the above terms and
|
||||||
|
conditions, the license granted here is perpetual
|
||||||
|
(for the duration of the applicable copyright in
|
||||||
|
the Work). Notwithstanding the above, Licensor
|
||||||
|
reserves the right to release the Work under
|
||||||
|
different license terms or to stop distributing
|
||||||
|
the Work at any time; provided, however that any
|
||||||
|
such election will not serve to withdraw this
|
||||||
|
License (or any other license that has been, or is
|
||||||
|
required to be, granted under the terms of this
|
||||||
|
License), and this License will continue in full
|
||||||
|
force and effect unless terminated as stated
|
||||||
|
above.
|
||||||
|
|
||||||
|
8. Miscellaneous
|
||||||
|
|
||||||
|
Each time You
|
||||||
|
Distribute or Publicly Perform the Work or a
|
||||||
|
Collection, the Licensor offers to the recipient a
|
||||||
|
license to the Work on the same terms and
|
||||||
|
conditions as the license granted to You under
|
||||||
|
this License.
|
||||||
|
Each time You Distribute or
|
||||||
|
Publicly Perform an Adaptation, Licensor offers to
|
||||||
|
the recipient a license to the original Work on
|
||||||
|
the same terms and conditions as the license
|
||||||
|
granted to You under this License.
|
||||||
|
If any
|
||||||
|
provision of this License is invalid or
|
||||||
|
unenforceable under applicable law, it shall not
|
||||||
|
affect the validity or enforceability of the
|
||||||
|
remainder of the terms of this License, and
|
||||||
|
without further action by the parties to this
|
||||||
|
agreement, such provision shall be reformed to the
|
||||||
|
minimum extent necessary to make such provision
|
||||||
|
valid and enforceable.
|
||||||
|
No term or provision
|
||||||
|
of this License shall be deemed waived and no
|
||||||
|
breach consented to unless such waiver or consent
|
||||||
|
shall be in writing and signed by the party to be
|
||||||
|
charged with such waiver or consent.
|
||||||
|
This
|
||||||
|
License constitutes the entire agreement between
|
||||||
|
the parties with respect to the Work licensed
|
||||||
|
here. There are no understandings, agreements or
|
||||||
|
representations with respect to the Work not
|
||||||
|
specified here. Licensor shall not be bound by any
|
||||||
|
additional provisions that may appear in any
|
||||||
|
communication from You. This License may not be
|
||||||
|
modified without the mutual written agreement of
|
||||||
|
the Licensor and You.
|
||||||
|
The rights granted
|
||||||
|
under, and the subject matter referenced, in this
|
||||||
|
License were drafted utilizing the terminology of
|
||||||
|
the Berne Convention for the Protection of
|
||||||
|
Literary and Artistic Works (as amended on
|
||||||
|
September 28, 1979), the Rome Convention of 1961,
|
||||||
|
the WIPO Copyright Treaty of 1996, the WIPO
|
||||||
|
Performances and Phonograms Treaty of 1996 and the
|
||||||
|
Universal Copyright Convention (as revised on July
|
||||||
|
24, 1971). These rights and subject matter take
|
||||||
|
effect in the relevant jurisdiction in which the
|
||||||
|
License terms are sought to be enforced according
|
||||||
|
to the corresponding provisions of the
|
||||||
|
implementation of those treaty provisions in the
|
||||||
|
applicable national law. If the standard suite of
|
||||||
|
rights granted under applicable copyright law
|
||||||
|
includes additional rights not granted under this
|
||||||
|
License, such additional rights are deemed to be
|
||||||
|
included in the License; this License is not
|
||||||
|
intended to restrict the license of any rights
|
||||||
|
under applicable law.
|
||||||
|
|
@ -57,12 +57,22 @@ end
|
|||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function base:mousepressed(x, y, button)
|
function base:mousepressed(x, y, button)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if self.children then
|
if self.children then
|
||||||
for k, v in ipairs(self.children) do
|
for k, v in ipairs(self.children) do
|
||||||
v:mousepressed(x, y, button)
|
v:mousepressed(x, y, button)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.internals then
|
||||||
|
for k, v in ipairs(self.internals) do
|
||||||
|
v:mousepressed(x, y, button)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
@ -71,12 +81,22 @@ end
|
|||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function base:mousereleased(x, y, button)
|
function base:mousereleased(x, y, button)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if self.children then
|
if self.children then
|
||||||
for k, v in ipairs(self.children) do
|
for k, v in ipairs(self.children) do
|
||||||
v:mousereleased(x, y, button)
|
v:mousereleased(x, y, button)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.internals then
|
||||||
|
for k, v in ipairs(self.internals) do
|
||||||
|
v:mousereleased(x, y, button)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
@ -85,12 +105,22 @@ end
|
|||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function base:keypressed(key, unicode)
|
function base:keypressed(key, unicode)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if self.children then
|
if self.children then
|
||||||
for k, v in ipairs(self.children) do
|
for k, v in ipairs(self.children) do
|
||||||
v:keypressed(key, unicode)
|
v:keypressed(key, unicode)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.internals then
|
||||||
|
for k, v in ipairs(self.internals) do
|
||||||
|
v:keypressed(key, unicode)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
@ -99,12 +129,22 @@ end
|
|||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function base:keyreleased(key)
|
function base:keyreleased(key)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if self.children then
|
if self.children then
|
||||||
for k, v in ipairs(self.children) do
|
for k, v in ipairs(self.children) do
|
||||||
v:keyreleased(key)
|
v:keyreleased(key)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if self.internals then
|
||||||
|
for k, v in ipairs(self.internals) do
|
||||||
|
v:keyreleased(key)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,6 @@ function button:initialize()
|
|||||||
self.width = 80
|
self.width = 80
|
||||||
self.height = 25
|
self.height = 25
|
||||||
self.internal = false
|
self.internal = false
|
||||||
self.hover = false
|
|
||||||
self.down = false
|
self.down = false
|
||||||
self.clickable = true
|
self.clickable = true
|
||||||
self.enabled = true
|
self.enabled = true
|
||||||
|
@ -71,17 +71,6 @@ function image:draw()
|
|||||||
skin.DrawImage(self)
|
skin.DrawImage(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
local image = self.image
|
|
||||||
local color = self.imagecolor
|
|
||||||
|
|
||||||
if color then
|
|
||||||
love.graphics.setColor(unpack(color))
|
|
||||||
love.graphics.draw(image)
|
|
||||||
else
|
|
||||||
love.graphics.setColor(255, 255, 255, 255)
|
|
||||||
love.graphics.draw(image, self.x, self.y)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
|
228
objects/imagebutton.lua
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
--[[------------------------------------------------
|
||||||
|
-- LÖVE Frames --
|
||||||
|
-- By Nikolai Resokav --
|
||||||
|
--]]------------------------------------------------
|
||||||
|
|
||||||
|
-- imagebutton clas
|
||||||
|
imagebutton = class("imagebutton", base)
|
||||||
|
imagebutton:include(loveframes.templates.default)
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: initialize()
|
||||||
|
- desc: initializes the object
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:initialize()
|
||||||
|
|
||||||
|
self.type = "imagebutton"
|
||||||
|
self.text = "Image Button"
|
||||||
|
self.width = 50
|
||||||
|
self.height = 50
|
||||||
|
self.internal = false
|
||||||
|
self.down = false
|
||||||
|
self.clickable = true
|
||||||
|
self.enabled = true
|
||||||
|
self.image = nil
|
||||||
|
self.OnClick = nil
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: update(deltatime)
|
||||||
|
- desc: updates the object
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:update(dt)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
if self.alwaysupdate == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self:CheckHover()
|
||||||
|
|
||||||
|
-- move to parent if there is a parent
|
||||||
|
if self.parent ~= loveframes.base then
|
||||||
|
self.x = self.parent.x + self.staticx
|
||||||
|
self.y = self.parent.y + self.staticy
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.Update then
|
||||||
|
self.Update(self, dt)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: draw()
|
||||||
|
- desc: draws the object
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:draw()
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
loveframes.drawcount = loveframes.drawcount + 1
|
||||||
|
self.draworder = loveframes.drawcount
|
||||||
|
|
||||||
|
-- skin variables
|
||||||
|
local index = loveframes.config["ACTIVESKIN"]
|
||||||
|
local defaultskin = loveframes.config["DEFAULTSKIN"]
|
||||||
|
local selfskin = self.skin
|
||||||
|
local skin = loveframes.skins.available[selfskin] or loveframes.skins.available[index] or loveframes.skins.available[defaultskin]
|
||||||
|
|
||||||
|
if self.Draw ~= nil then
|
||||||
|
self.Draw(self)
|
||||||
|
else
|
||||||
|
skin.DrawImageButton(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: mousepressed(x, y, imagebutton)
|
||||||
|
- desc: called when the player presses a mouse imagebutton
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:mousepressed(x, y, imagebutton)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.hover == true and imagebutton == "l" then
|
||||||
|
|
||||||
|
local baseparent = self:GetBaseParent()
|
||||||
|
|
||||||
|
if baseparent and baseparent.type == "frame" then
|
||||||
|
baseparent:MakeTop()
|
||||||
|
end
|
||||||
|
|
||||||
|
self.down = true
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: mousereleased(x, y, imagebutton)
|
||||||
|
- desc: called when the player releases a mouse imagebutton
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:mousereleased(x, y, imagebutton)
|
||||||
|
|
||||||
|
if self.visible == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local hover = self.hover
|
||||||
|
local down = self.down
|
||||||
|
local clickable = self.clickable
|
||||||
|
local enabled = self.enabled
|
||||||
|
|
||||||
|
if hover == true and down == true and imagebutton == "l" and clickable == true then
|
||||||
|
if enabled == true then
|
||||||
|
if self.OnClick then
|
||||||
|
self.OnClick(self, x, y)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self.down = false
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SetText(text)
|
||||||
|
- desc: sets the object's text
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:SetText(text)
|
||||||
|
|
||||||
|
self.text = text
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetText()
|
||||||
|
- desc: gets the object's text
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:GetText()
|
||||||
|
|
||||||
|
return self.text
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SetClickable(bool)
|
||||||
|
- desc: sets whether the object can be clicked or not
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:SetClickable(bool)
|
||||||
|
|
||||||
|
self.clickable = bool
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetClickable(bool)
|
||||||
|
- desc: gets whether the object can be clicked or not
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:GetClickable()
|
||||||
|
|
||||||
|
return self.clickable
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SetClickable(bool)
|
||||||
|
- desc: sets whether the object is enabled or not
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:SetEnabled(bool)
|
||||||
|
|
||||||
|
self.enabled = bool
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetEnabled()
|
||||||
|
- desc: gets whether the object is enabled or not
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:GetEnabled()
|
||||||
|
|
||||||
|
return self.enabled
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SetImage(image)
|
||||||
|
- desc: sets the object's image
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:SetImage(image)
|
||||||
|
|
||||||
|
if type(image) == "string" then
|
||||||
|
self.image = love.graphics.newImage(image)
|
||||||
|
else
|
||||||
|
self.image = image
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetImage()
|
||||||
|
- desc: gets whether the object is enabled or not
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:GetImage()
|
||||||
|
|
||||||
|
return self.image
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SizeToImage()
|
||||||
|
- desc: makes the object the same size as it's image
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function imagebutton:SizeToImage()
|
||||||
|
|
||||||
|
if self.image then
|
||||||
|
self.width = self.image:getWidth()
|
||||||
|
self.height = self.image:getHeight()
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -181,38 +181,6 @@ function columnlistarea:mousereleased(x, y, button)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
|
||||||
- func: keypressed(key)
|
|
||||||
- desc: called when the player presses a key
|
|
||||||
--]]---------------------------------------------------------
|
|
||||||
function columnlistarea:keypressed(key, unicode)
|
|
||||||
|
|
||||||
for k, v in ipairs(self.internals) do
|
|
||||||
v:keypressed(key, unicode)
|
|
||||||
end
|
|
||||||
|
|
||||||
for k, v in ipairs(self.children) do
|
|
||||||
v:keypressed(key, unicode)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
|
||||||
- func: keyreleased(key)
|
|
||||||
- desc: called when the player releases a key
|
|
||||||
--]]---------------------------------------------------------
|
|
||||||
function columnlistarea:keyreleased(key)
|
|
||||||
|
|
||||||
for k, v in ipairs(self.internals) do
|
|
||||||
v:keyreleased(key)
|
|
||||||
end
|
|
||||||
|
|
||||||
for k, v in ipairs(self.children) do
|
|
||||||
v:keyreleased(key)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
- func: CalculateSize()
|
- func: CalculateSize()
|
||||||
- desc: calculates the size of the object's children
|
- desc: calculates the size of the object's children
|
||||||
|
@ -17,8 +17,11 @@ function columnlistrow:initialize(parent, data)
|
|||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.colorindex = self.parent.rowcolorindex
|
self.colorindex = self.parent.rowcolorindex
|
||||||
self.font = love.graphics.newFont(12)
|
self.font = love.graphics.newFont(12)
|
||||||
|
self.textcolor = {0, 0, 0, 255}
|
||||||
self.width = 80
|
self.width = 80
|
||||||
self.height = 25
|
self.height = 25
|
||||||
|
self.textx = 5
|
||||||
|
self.texty = 5
|
||||||
self.internal = true
|
self.internal = true
|
||||||
self.columndata = data
|
self.columndata = data
|
||||||
|
|
||||||
@ -76,11 +79,12 @@ function columnlistrow:draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local cwidth, cheight = self:GetParent():GetParent():GetColumnSize()
|
local cwidth, cheight = self:GetParent():GetParent():GetColumnSize()
|
||||||
local x = 5
|
local x = self.textx
|
||||||
|
local textcolor = self.textcolor
|
||||||
|
|
||||||
for k, v in ipairs(self.columndata) do
|
for k, v in ipairs(self.columndata) do
|
||||||
local height = self.font:getHeight("a")
|
love.graphics.setColor(unpack(textcolor))
|
||||||
love.graphics.print(v, self.x + x, self.y + self.height/2 - height/2)
|
love.graphics.print(v, self.x + x, self.y + self.texty)
|
||||||
x = x + cwidth
|
x = x + cwidth
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -132,25 +136,52 @@ function columnlistrow:mousereleased(x, y, button)
|
|||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
- func: keypressed(key)
|
- func: SetTextPos(x, y)
|
||||||
- desc: called when the player presses a key
|
- desc: sets the positions of the object's text
|
||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function columnlistrow:keypressed(key, unicode)
|
function columnlistrow:SetTextPos(x, y)
|
||||||
|
|
||||||
if self.visible == false then
|
self.textx = x
|
||||||
return
|
self.texty = y
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
--[[---------------------------------------------------------
|
||||||
- func: keyreleased(key)
|
- func: SetFont(font)
|
||||||
- desc: called when the player releases a key
|
- desc: sets the object's font
|
||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function columnlistrow:keyreleased(key)
|
function columnlistrow:SetFont(font)
|
||||||
|
|
||||||
if self.visible == false then
|
self.font = font
|
||||||
return
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetFont()
|
||||||
|
- desc: gets the object's font
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function columnlistrow:GetFont()
|
||||||
|
|
||||||
|
return self.font
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: GetColorIndex()
|
||||||
|
- desc: gets the object's color index
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function columnlistrow:GetColorIndex()
|
||||||
|
|
||||||
|
return self.colorindex
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
--[[---------------------------------------------------------
|
||||||
|
- func: SetTextColor(color)
|
||||||
|
- desc: sets the object's text color
|
||||||
|
--]]---------------------------------------------------------
|
||||||
|
function columnlistrow:SetTextColor(color)
|
||||||
|
|
||||||
|
self.textcolor = color
|
||||||
|
|
||||||
end
|
end
|
@ -143,20 +143,3 @@ function columnlistheader:mousereleased(x, y, button)
|
|||||||
self.down = false
|
self.down = false
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
|
||||||
- func: keypressed(key)
|
|
||||||
- desc: called when the player presses a key
|
|
||||||
--]]---------------------------------------------------------
|
|
||||||
function columnlistheader:keypressed(key, unicode)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
--[[---------------------------------------------------------
|
|
||||||
- func: keyreleased(key)
|
|
||||||
- desc: called when the player releases a key
|
|
||||||
--]]---------------------------------------------------------
|
|
||||||
function columnlistheader:keyreleased(key)
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
@ -166,6 +166,10 @@ end
|
|||||||
--]]---------------------------------------------------------
|
--]]---------------------------------------------------------
|
||||||
function tabbutton:SetImage(image)
|
function tabbutton:SetImage(image)
|
||||||
|
|
||||||
|
if type(image) == "string" then
|
||||||
|
self.image = love.graphics.newImage(image)
|
||||||
|
else
|
||||||
self.image = image
|
self.image = image
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
BIN
skins/Blue/images/arrow-down.png
Normal file
After Width: | Height: | Size: 180 B |
BIN
skins/Blue/images/arrow-left.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
skins/Blue/images/arrow-right.png
Normal file
After Width: | Height: | Size: 185 B |
BIN
skins/Blue/images/arrow-up.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
skins/Blue/images/close.png
Normal file
After Width: | Height: | Size: 252 B |
BIN
skins/Blue/images/multichoice-arrow.png
Normal file
After Width: | Height: | Size: 231 B |
1208
skins/Blue/skin.lua
Normal file
BIN
skins/Orange/images/arrow-down.png
Normal file
After Width: | Height: | Size: 180 B |
BIN
skins/Orange/images/arrow-left.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
skins/Orange/images/arrow-right.png
Normal file
After Width: | Height: | Size: 185 B |
BIN
skins/Orange/images/arrow-up.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
skins/Orange/images/close.png
Normal file
After Width: | Height: | Size: 252 B |
BIN
skins/Orange/images/multichoice-arrow.png
Normal file
After Width: | Height: | Size: 231 B |