Difference between revisions of "S2 functions"

From Dreamwidth Notes
Jump to: navigation, search
(builtin functions from Color class)
Line 3: Line 3:
 
Template to use:  
 
Template to use:  
  
<pre><nowiki>== class name =
+
<pre><nowiki>== class name ==
  
=== function name=
+
=== function name ===
  
 
* '''Name:''' the in-code name for the function
 
* '''Name:''' the in-code name for the function
Line 20: Line 20:
 
= Other =
 
= Other =
  
== int =
+
== int ==
  
=== zeropad(int digits) =
+
=== zeropad(int digits) ===
  
 
* '''Name:''' zeropad(int digits) : string
 
* '''Name:''' zeropad(int digits) : string
Line 28: Line 28:
 
* '''Other info:'''  
 
* '''Other info:'''  
  
=== compare(int n) =
+
=== compare(int n) ===
  
 
* '''Name:''' compare(int n) : int
 
* '''Name:''' compare(int n) : int
Line 34: Line 34:
 
* '''Other info:'''
 
* '''Other info:'''
  
== string =
+
== string ==
  
=== index(string sub) =
+
=== index(string sub) ===
  
 
* '''Name:''' index(string sub) : int
 
* '''Name:''' index(string sub) : int
Line 42: Line 42:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== index(string sub, int position) =
+
=== index(string sub, int position) ===
  
 
* '''Name:''' index(string sub, int position) : int
 
* '''Name:''' index(string sub, int position) : int
Line 48: Line 48:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== substr(int start, int length) =
+
=== substr(int start, int length) ===
  
 
* '''Name:''' substr(int start, int length) : string
 
* '''Name:''' substr(int start, int length) : string
Line 54: Line 54:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== ends_with (string sub) =
+
=== ends_with (string sub) ===
  
 
* '''Name:''' ends_with (string sub) : bool
 
* '''Name:''' ends_with (string sub) : bool
Line 60: Line 60:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== starts_with (string sub) =
+
=== starts_with (string sub) ===
  
 
* '''Name:''' starts_with (string sub) : bool
 
* '''Name:''' starts_with (string sub) : bool
Line 66: Line 66:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== contains (string sub) =
+
=== contains (string sub) ===
  
 
* '''Name:''' contains (string sub) : bool
 
* '''Name:''' contains (string sub) : bool
Line 72: Line 72:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== replace(string find, string replace) =
+
=== replace(string find, string replace) ===
  
 
* '''Name:''' replace(string find, string replace) : string
 
* '''Name:''' replace(string find, string replace) : string
Line 78: Line 78:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== split (string sub) =
+
=== split (string sub) ===
  
 
* '''Name:''' split (string sub) : string[]
 
* '''Name:''' split (string sub) : string[]
Line 84: Line 84:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== lower =
+
=== lower ===
  
 
* '''Name:''' lower : string
 
* '''Name:''' lower : string
Line 90: Line 90:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== upper =
+
=== upper ===
  
 
* '''Name:''' upper : string
 
* '''Name:''' upper : string
Line 96: Line 96:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== upperfirst =
+
=== upperfirst ===
  
 
* '''Name:''' upperfirst : string
 
* '''Name:''' upperfirst : string
Line 102: Line 102:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== length() =
+
=== length() ===
  
 
* '''Name:''' length() : int
 
* '''Name:''' length() : int
Line 108: Line 108:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== repeat(int n) =
+
=== repeat(int n) ===
  
 
* '''Name:''' repeat(int n) : string
 
* '''Name:''' repeat(int n) : string
Line 114: Line 114:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== compare(string s) =
+
=== compare(string s) ===
  
 
* '''Name:''' compare(string s) : int
 
* '''Name:''' compare(string s) : int
Line 120: Line 120:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_string() =
+
=== css_string() ===
  
 
* '''Name:''' css_string() : string
 
* '''Name:''' css_string() : string
Line 126: Line 126:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_keyword() =
+
=== css_keyword() ===
  
 
* '''Name:''' css_keyword() : string
 
* '''Name:''' css_keyword() : string
Line 132: Line 132:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_keyword_list() =
+
=== css_keyword_list() ===
  
 
* '''Name:''' css_keyword_list() : string
 
* '''Name:''' css_keyword_list() : string
Line 138: Line 138:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_keyword(string[] allowed) =
+
=== css_keyword(string[] allowed) ===
  
 
* '''Name:''' css_keyword(string[] allowed) : string
 
* '''Name:''' css_keyword(string[] allowed) : string
Line 144: Line 144:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_keyword_list(string[] allowed) =
+
=== css_keyword_list(string[] allowed) ===
  
 
* '''Name:''' css_keyword_list(string[] allowed) : string
 
* '''Name:''' css_keyword_list(string[] allowed) : string
Line 150: Line 150:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_length_value() =
+
=== css_length_value() ===
  
 
* '''Name:''' css_length_value() : string
 
* '''Name:''' css_length_value() : string
Line 156: Line 156:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== css_url_value =
+
=== css_url_value ===
  
 
* '''Name:''' css_url_value : string
 
* '''Name:''' css_url_value : string
Line 162: Line 162:
 
* '''Other info:'''
 
* '''Other info:'''
  
== Color =
+
== Color ==
  
=== Color(string s) =
+
=== Color(string s) ===
  
 
* '''Name:''' Color(string s) : Color  
 
* '''Name:''' Color(string s) : Color  
Line 170: Line 170:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== set_hsl (int h, int s, int v) =
+
=== set_hsl (int h, int s, int v) ===
  
 
* '''Name:''' set_hsl (int h, int s, int v)
 
* '''Name:''' set_hsl (int h, int s, int v)
Line 176: Line 176:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== red(int r) =
+
=== red(int r) ===
  
 
* '''Name:''' red(int r)
 
* '''Name:''' red(int r)
Line 182: Line 182:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== green(int g) =
+
=== green(int g) ===
  
 
* '''Name:''' green(int g)
 
* '''Name:''' green(int g)
Line 188: Line 188:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== blue(int b) =
+
=== blue(int b) ===
  
 
* '''Name:''' blue(int b)
 
* '''Name:''' blue(int b)
Line 194: Line 194:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== red() =
+
=== red() ===
  
 
* '''Name:''' red() : int
 
* '''Name:''' red() : int
Line 200: Line 200:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== green() =
+
=== green() ===
  
 
* '''Name:''' green() : int
 
* '''Name:''' green() : int
Line 206: Line 206:
 
* ''' Other info:'''
 
* ''' Other info:'''
  
=== blue() =
+
=== blue() ===
  
 
* '''Name:''' blue() : int
 
* '''Name:''' blue() : int
Line 212: Line 212:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== hue(int h) =
+
=== hue(int h) ===
  
 
* '''Name:''' hue(int h)
 
* '''Name:''' hue(int h)
Line 218: Line 218:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== saturation(int s) =
+
=== saturation(int s) ===
  
 
* '''Name:''' saturation(int s)
 
* '''Name:''' saturation(int s)
Line 224: Line 224:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== lightness(int v) =
+
=== lightness(int v) ===
  
 
* '''Name:''' lightness(int v)
 
* '''Name:''' lightness(int v)
Line 230: Line 230:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== hue() =
+
=== hue() ===
  
 
* '''Name:''' hue() : int
 
* '''Name:''' hue() : int
Line 236: Line 236:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== saturation() =
+
=== saturation() ===
  
 
* '''Name:''' saturation() : int
 
* '''Name:''' saturation() : int
Line 242: Line 242:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== lightness() =
+
=== lightness() ===
  
 
* '''Name:''' lightness() : int
 
* '''Name:''' lightness() : int
Line 248: Line 248:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== clone() =
+
=== clone() ===
  
 
* '''Name:''' clone() : Color
 
* '''Name:''' clone() : Color
Line 254: Line 254:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== lighter() =
+
=== lighter() ===
  
 
* '''Name:''' lighter() : Color
 
* '''Name:''' lighter() : Color
Line 260: Line 260:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== lighter(int amt) =
+
=== lighter(int amt) ===
  
 
* '''Name:''' lighter(int amt) : Color
 
* '''Name:''' lighter(int amt) : Color
Line 266: Line 266:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== darker() =
+
=== darker() ===
  
 
* '''Name:''' darker() : Color
 
* '''Name:''' darker() : Color
Line 272: Line 272:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== darker(int amt) =
+
=== darker(int amt) ===
  
 
* '''Name:''' darker(int amt) : Color
 
* '''Name:''' darker(int amt) : Color
Line 278: Line 278:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== inverse() =
+
=== inverse() ===
  
 
* '''Name:''' inverse() : Color
 
* '''Name:''' inverse() : Color
Line 284: Line 284:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== average(Color other) =
+
=== average(Color other) ===
  
 
* '''Name:''' average(Color other) : Color
 
* '''Name:''' average(Color other) : Color
Line 290: Line 290:
 
* '''Other info:'''
 
* '''Other info:'''
  
=== blend(Color other, int value) =
+
=== blend(Color other, int value) ===
  
 
* '''Name:''' blend(Color other, int value) : Color
 
* '''Name:''' blend(Color other, int value) : Color

Revision as of 05:29, 22 April 2009

S2 functions

Template to use:

== class name ==

=== function name ===

* '''Name:''' the in-code name for the function
* '''Description:''' the in-code description
* '''Other info:''' further explanation, if needed
Note: Classes only need to be listed once; all of the functions in that class can be added under the one header.

User-overridable functions

Layout-overridable functions

Other

int

zeropad(int digits)

  • Name: zeropad(int digits) : string
  • Description: Return the integer as a string formatted at least $digits characters long, left-padded with zeroes.
  • Other info:

compare(int n)

  • Name: compare(int n) : int
  • Description: Compare one integer with another. Returns a negative number if n is less than the subject, positive if greater or zero if the two are numerically equal.
  • Other info:

string

index(string sub)

  • Name: index(string sub) : int
  • Description: Returns the index of the first instance of $sub in string.
  • Other info:

index(string sub, int position)

  • Name: index(string sub, int position) : int
  • Description: Returns the index of the first instance of $sub in string, starting from $position.
  • Other info:

substr(int start, int length)

  • Name: substr(int start, int length) : string
  • Description: Returns up to $length characters from string, skipping $start characters from the beginning.
  • Other info:

ends_with (string sub)

  • Name: ends_with (string sub) : bool
  • Description: Returns true if string ends in $sub.
  • Other info:

starts_with (string sub)

  • Name: starts_with (string sub) : bool
  • Description: Returns true if string begins with $sub.
  • Other info:

contains (string sub)

  • Name: contains (string sub) : bool
  • Description: Return true if string contains $sub.
  • Other info:

replace(string find, string replace)

  • Name: replace(string find, string replace) : string
  • Description: Replace all instances of $find with $replace. Case sensitive.
  • Other info:

split (string sub)

  • Name: split (string sub) : string[]
  • Description: Return an array of strings split by $sub.
  • Other info:

lower

  • Name: lower : string
  • Description: Returns string in lower case.
  • Other info:

upper

  • Name: upper : string
  • Description: Returns string in upper case.
  • Other info:

upperfirst

  • Name: upperfirst : string
  • Description: Return string with the first character capitalized.
  • Other info:

length()

  • Name: length() : int
  • Description: Return the number of characters in the string.
  • Other info:

repeat(int n)

  • Name: repeat(int n) : string
  • Description: Returns the string repeated n times.
  • Other info:

compare(string s)

  • Name: compare(string s) : int
  • Description: Compare one string with another. Returns a negative number if n is alphabetically before the subject, positive if greater or zero if the two are equal. Note that this function currently does a simple ASCII compare, not a proper unicode-aware sort.
  • Other info:

css_string()

  • Name: css_string() : string
  • Description: Returns the string escaped and quoted as a CSS string literal, safe for insertion into a stylesheet.
  • Other info:

css_keyword()

  • Name: css_keyword() : string
  • Description: If the string is syntactically valid as a CSS keyword (only letters and spaces) returns it, else returns an empty string.
  • Other info:

css_keyword_list()

  • Name: css_keyword_list() : string
  • Description: Analyses the string as a space-separated list of CSS keywords and returns a string containing the items that are syntactically acceptable.
  • Other info:

css_keyword(string[] allowed)

  • Name: css_keyword(string[] allowed) : string
  • Description: Same as [method[string.css_keyword()]] except also imposes a whitelist of valid keywords given in $allowed.
  • Other info:

css_keyword_list(string[] allowed)

  • Name: css_keyword_list(string[] allowed) : string
  • Description: Same as [method[string.css_keyword_list()]] except also imposes a whitelist of valid keywords given in $allowed.
  • Other info:

css_length_value()

  • Name: css_length_value() : string
  • Description: If the string contains a valid CSS length value, returns a canonical version. Else returns an empty string.
  • Other info:

css_url_value

  • Name: css_url_value : string
  • Description: If the string contains a valid HTTP or HTTPS URL it is returned. Otherwise, an empty string is returned.
  • Other info:

Color

Color(string s)

  • Name: Color(string s) : Color
  • Description: Constructor for color class. Lets you make a Color object from a string of form #rrggbb.
  • Other info:

set_hsl (int h, int s, int v)

  • Name: set_hsl (int h, int s, int v)
  • Description: Set the HSL value for a color class.
  • Other info:

red(int r)

  • Name: red(int r)
  • 'Description: Set the red value. (0-255)
  • Other info:

green(int g)

  • Name: green(int g)
  • Description: Set the green value. (0-255)
  • Other info:

blue(int b)

  • Name: blue(int b)
  • Description: Set the blue value. (0-255)
  • Other info:

red()

  • Name: red() : int
  • Description: Get the red value.
  • Other info:

green()

  • Name: green() : int
  • Description: Get the green value.
  • Other info:

blue()

  • Name: blue() : int
  • Description: Get the blue value.
  • Other info:

hue(int h)

  • Name: hue(int h)
  • Description: Set the hue value. (0-255)
  • Other info:

saturation(int s)

  • Name: saturation(int s)
  • Description: Set the saturation value. (0-255)
  • Other info:

lightness(int v)

  • Name: lightness(int v)
  • Description: Set the lightness value. (0-255)
  • Other info:

hue()

  • Name: hue() : int
  • Description: Get the hue value. (0-255)
  • Other info:

saturation()

  • Name: saturation() : int
  • Description: Get the saturation value. (0-255)
  • Other info:

lightness()

  • Name: lightness() : int
  • Description: Get the lightness value. (0-255)
  • Other info:

clone()

  • Name: clone() : Color
  • Description: Returns identical color.
  • Other info:

lighter()

  • Name: lighter() : Color
  • Description: Returns a new color with lightness increased by 30.
  • Other info:

lighter(int amt)

  • Name: lighter(int amt) : Color
  • Description: Returns a new color with lightness increased by amount given.
  • Other info:

darker()

  • Name: darker() : Color
  • Description: Returns a new color with lightness decreased by 30.
  • Other info:

darker(int amt)

  • Name: darker(int amt) : Color
  • Description: Returns a new color with lightness decreased by amount given.
  • Other info:

inverse()

  • Name: inverse() : Color
  • Description: Returns inverse of color.
  • Other info:

average(Color other)

  • Name: average(Color other) : Color
  • Description: Returns color averaged with $other color.
  • Other info:

blend(Color other, int value)

  • Name: blend(Color other, int value) : Color
  • Description: Returns color blended with $other color by percentage value (int between 0 and 100).
  • Other info: