Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
ideas:color-object [2014/07/07 17:43] – Properly use wiki markup tabatkinsideas:color-object [2014/12/09 15:48] – external edit 127.0.0.1
Line 1: Line 1:
-  [Constructor(double r, double g, double b, optional double a=1)]+<code idl> 
 +  [Constructor(double r, double g, double b, optional double a=1), 
 +   Constructor(RGBAColorInit color)]
   interface RGBAColor {   interface RGBAColor {
     attribute double r;     attribute double r;
Line 6: Line 8:
     attribute double a;     attribute double a;
          
-    HSLAColor asHSL(); +    HSLAColorInit asHSL();
-    HexColor asHex(); +
-    +
     static RGBAColor fromHSLA(double h, double s, double l, optional double a=1);     static RGBAColor fromHSLA(double h, double s, double l, optional double a=1);
 +    static RGBAColor fromHSLA(optional HSLAColorInit color);
 +    
 +    HexColorInit asHex();
     static RGBAColor fromHex(octet r, octet g, octet b, optional octet a=255);     static RGBAColor fromHex(octet r, octet g, octet b, optional octet a=255);
 +    static RGBAColor fromHex(optional HexColorInit color);
          
-    stringifier DOMString (optional DOMString type="rgba");+    DOMString? asName(); 
 +     
 +    DOMString toString(optional DOMString type="rgba");
     static readonly attribute Map serializationTypes;     static readonly attribute Map serializationTypes;
   };   };
 +</code>
  
-The stringifier looks up the type in the RGBAColor.serializationTypes Map; if it finds a function, it calls that with the RGBAColor as the sole argument and returns whatever the function returns.  It's preloaded with UA-defined functions for "hex3", "hex6", "rgb", "rgba", "hsl", and "hsla"+The ''toString()'' method looks up the type in the ''RGBAColor.serializationTypes Map''; if it finds a function, it calls that with the ''RGBAColor'' as the sole argument and returns whatever the function returns.  It's preloaded with UA-defined functions for "hex3", "hex6", "rgb", "rgba", "hsl", and "hsla"
  
-Authors can define their own color formats by adding a fromFoo() to RGBAColor, a toFoo() to RGBAColor.prototype, and adding an appropriate serialization tag to RGBAColor.serializationTypes.+Authors can define their own color formats by adding a ''fromFoo()'' to ''RGBAColor'', a ''toFoo()'' to ''RGBAColor.prototype'', and adding an appropriate serialization tag to ''RGBAColor.serializationTypes''.
  
-  dictionary HSLAColor +<code idl> 
-    double h+  dictionary RGBAColorInit 
-    double s+    double r = 0
-    double l+    double g = 0
-    double a;+    double b = 0
 +    double a = 1;
   };   };
      
-  dictionary HexColor +  dictionary HSLAColorInit { 
-    octet r; +    double h = 0; 
-    octet g; +    double s = 1; 
-    octet b; +    double l = .5; 
-    octet a;+    double a = 1; 
 +  }; 
 +   
 +  dictionary HexColorInit 
 +    octet r = 0
 +    octet g = 0
 +    octet b = 0
 +    octet a = 255;
   };   };
      
   partial interface CSS {   partial interface CSS {
-    CSSColor parseColor(DOMString color, optional Element el);+    RGBAColor parseColor(DOMString color, optional Element el);
   };   };
 +</code>
 +
 +''parseColor()'' takes a string containing any CSS color, and returns an RGBAColor for it.  If the string isn't parseable as a color, throw a ''SyntaxError'' exception.
  
-If parseColor is called with a color that depends on the element on which it is used, +The optional second argument is used to resolve colors that vary based on the element, such as ''currentcolor''.  If such a color is parsed but the second argument is not provided, throw a XXX exception.
-such as ''currentcolor'' or ''inherit'', +
-but no el argument was passed, +
-throw a XXX error.+
 
ideas/color-object.txt · Last modified: 2021/10/01 15:36 by fantasai
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki