![]() |
API 0.9.5
|
00001 /* 00002 * CGGradient.j 00003 * AppKit 00004 * 00005 * Created by Francisco Tolmasky. 00006 * Copyright 2008, 280 North, Inc. 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 */ 00022 00023 00024 00025 kCGGradientDrawsBeforeStartLocation = 1 << 0; 00026 kCGGradientDrawsAfterEndLocation = 1 << 1; 00027 00028 function CGGradientCreateWithColorComponents(aColorSpace, components, locations, count) 00029 { 00030 if ( locations === undefined || locations === NULL ) 00031 { 00032 var num_of_colors = components.length / 4, 00033 locations = []; 00034 for ( var idx = 0; idx < num_of_colors; idx++ ) 00035 locations.push( idx / (num_of_colors - 1) ); 00036 } 00037 00038 if ( count === undefined || count === NULL) 00039 var count = locations.length; 00040 00041 var colors = []; 00042 00043 while (count--) 00044 { 00045 var offset = count * 4; 00046 colors[count] = CGColorCreate(aColorSpace, components.slice(offset, offset + 4)); 00047 } 00048 00049 return CGGradientCreateWithColors(aColorSpace, colors, locations); 00050 } 00051 00052 function CGGradientCreateWithColors(aColorSpace, colors, locations) 00053 { 00054 return { colorspace:aColorSpace, colors:colors, locations:locations }; 00055 } 00056 00057 function CGGradientRelease() 00058 { 00059 } 00060 00061 function CGGradientRetain(aGradient) 00062 { 00063 return aGradient; 00064 }