pike.git
/
src
/
modules
/
Image
/
colors.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/modules/Image/colors.c:451:
{ INT_TYPE r,g,b; if (args==0) { r=87; g=127; b=41; } else {
-
get_all_args("
Image.Color.Color->
greylevel
()
",args,"%i%i%i",&r,&g,&b);
+
get_all_args("greylevel",args,"%i%i%i",&r,&g,&b);
} pop_n_elems(args); if (r+g+b==0) r=g=b=1; push_int((r*THIS->rgb.r+g*THIS->rgb.g+b*THIS->rgb.b)/(r+g+b)); } #define MAX3(X,Y,Z) MAXIMUM(MAXIMUM(X,Y),Z) #define MIN3(X,Y,Z) MINIMUM(MINIMUM(X,Y),Z) static void image_color_hsvf(INT32 args)
pike.git/src/modules/Image/colors.c:650:
**! returns a new <ref>Image.Color.Color</ref> object **! see also: rgb, hsv, Image.Color */ static void image_color_hex(INT32 args) { char buf[80]; INT_TYPE i=sizeof(COLORTYPE)*2; if (args)
-
get_all_args("
Image.Color.Color->
hex
()
",args,"%i",&i);
+
get_all_args("hex",args,"%i",&i);
pop_n_elems(args); if (i<1) { push_text("#"); /* stupid */ return; } else if (i!=sizeof(COLORTYPE)*2) { ptrdiff_t sh;
pike.git/src/modules/Image/colors.c:751:
**! and blue (equal to <tt>-><ref>rgb</ref>()</tt>), or **! to a string, giving the name (equal to <tt>-><ref>name</ref>()</tt>). **! returns the name as string or rgb as array **! see also: rgb, name */ static void image_color_cast(INT32 args) { if (args!=1 || TYPEOF(sp[-1]) != T_STRING)
-
bad_arg_error("
Image.Color.Color->
cast",sp-args,args,0,"",sp-args,
-
"Bad arguments to
Image.Color.Color->
cast
()
\n");
+
bad_arg_error("cast",sp-args,args,0,"",sp-args,
+
"Bad arguments to
cast
.\n");
if (sp[-1].u.string==literal_array_string) { image_color_rgb(args); return; } if (sp[-1].u.string==literal_string_string) { image_color_name(args); return;
pike.git/src/modules/Image/colors.c:782:
} static void image_color__sprintf(INT32 args) { int prec,x; if (args<2) SIMPLE_TOO_FEW_ARGS_ERROR("_sprintf",2); if (TYPEOF(sp[-args]) != T_INT)
-
SIMPLE_BAD_ARG_ERROR("_sprintf",0,"
integer
");
+
SIMPLE_BAD_ARG_ERROR("_sprintf",0,"
int
");
if (TYPEOF(sp[1-args]) != T_MAPPING) SIMPLE_BAD_ARG_ERROR("_sprintf",1,"mapping"); pop_n_elems(args-2); push_text("precision"); f_index(2); if (TYPEOF(sp[-1]) != T_INT) SIMPLE_BAD_ARG_ERROR("_sprintf",1,"mapping(\"precision\":int)"); prec=sp[-1].u.integer;
pike.git/src/modules/Image/colors.c:1158:
sp[-2].u.float_number+=0.2; sp[-1].u.float_number+=0.2; } image_make_hsv_color(3); } static void image_color_mult(INT32 args) { FLOAT_TYPE x=0.0;
-
get_all_args("
Image.Color.Color->
`*",args,"%f",&x);
+
get_all_args("`*",args,"%f",&x);
pop_n_elems(args); _image_make_rgb_color(DOUBLE_TO_INT(THIS->rgb.r*x), DOUBLE_TO_INT(THIS->rgb.g*x), DOUBLE_TO_INT(THIS->rgb.b*x)); } int image_color_svalue(struct svalue *v,rgb_group *rgb) { if (TYPEOF(*v) == T_OBJECT) {
pike.git/src/modules/Image/colors.c:1218:
if (args>=0) return 0; return image_color_svalue(sp+args,rgb); } static void image_color_add(INT32 args) { rgb_group rgb; if (!image_color_arg(-args,&rgb))
-
SIMPLE_BAD_ARG_ERROR("
Image.Color.Color->
`+",1,"Color");
+
SIMPLE_BAD_ARG_ERROR("`+",1,"
Image.
Color");
pop_n_elems(args); _image_make_rgb_color((int)(THIS->rgb.r+rgb.r), (int)(THIS->rgb.g+rgb.g), (int)(THIS->rgb.b+rgb.b)); } #define HEXTONUM(C) \
pike.git/src/modules/Image/colors.c:1327:
f_sscanf(2); if (TYPEOF(sp[-1]) == T_ARRAY && sp[-1].u.array->size==3) { FLOAT_TYPE h,s,v; stack_swap(); pop_stack(); sp--; dmalloc_touch_svalue(sp); push_array_items(sp->u.array);
-
get_all_args("
Image.Color()
",3,"%f%f%f",&h,&s,&v);
+
get_all_args("
create
",3,"%f%f%f",&h,&s,&v);
pop_n_elems(3); push_int(DOUBLE_TO_INT(h/360.0*256.0)); push_int(DOUBLE_TO_INT(s/100.0*255.4)); push_int(DOUBLE_TO_INT(v/100.0*255.4)); image_make_hsv_color(3); return; } pop_stack(); } if (sp[-1].u.string->len>=4 &&
pike.git/src/modules/Image/colors.c:1407:
/* try other stuff here */ pop_stack(); push_undefined(); return; } static void image_guess_color(INT32 args) { if (args!=1 && TYPEOF(sp[-args]) != T_STRING)
-
bad_arg_error("
Image.Color->
guess",sp-args,args,0,"",sp-args,
-
"Bad arguments to
Image.Color->
guess
()
\n");
+
bad_arg_error("guess",sp-args,args,0,"",sp-args,
+
"Bad arguments to
guess
.\n");
f_lower_case(1); push_text(" "); o_subtract(); stack_dup(); image_get_color(1); if (TYPEOF(sp[-1]) == T_OBJECT) { stack_swap();
pike.git/src/modules/Image/colors.c:1561:
if( args==1 && TYPEOF(sp[-1]) == T_INT ) { r = sp[-1].u.integer; b = r & 0xff; r >>= 8; g = r & 0xff; r >>= 8; r &= 0xff; } else
-
get_all_args("
Image.Color.
rgb
()
",args,"%i%i%i",&r,&g,&b);
+
get_all_args("rgb",args,"%i%i%i",&r,&g,&b);
_image_make_rgb_color(r,g,b); } static void image_make_hsv_color(INT32 args) { FLOAT_TYPE h,s,v; FLOAT_TYPE r=0,g=0,b=0; /* to avoid warning */ if (args && TYPEOF(sp[-args]) == T_INT) { INT_TYPE hi,si,vi;
-
get_all_args("
Image.Color.
hsv
()
",args,"%i%i%i",
-
&hi,&si,&vi);
+
get_all_args("hsv",args,"%i%i%i",&hi,&si,&vi);
pop_n_elems(args); if (hi<0) hi=(hi%COLORMAX)+COLORMAX; else if (hi>COLORMAX) hi%=COLORMAX; /* repeating */ if (si<0) si=0; else if (si>COLORMAX) si=COLORMAX; if (vi<0) vi=0; else if (vi>COLORMAX) vi=COLORMAX; h = (hi/((double)COLORMAX))*(360.0/60.0); s = si/((double)COLORMAX); v = vi/((double)COLORMAX); } else {
-
get_all_args("
Image.Color.
hsv
()
",args,"%f%f%f",
-
&h,&s,&v);
+
get_all_args("hsv",args,"%f%f%f",&h,&s,&v);
pop_n_elems(args); if (h<0) h = 360 + h - ((DOUBLE_TO_INT(h)/360)*360); if (h>360.0) h -= ((DOUBLE_TO_INT(h)/360)*360); h/=60; } if(s==0.0) { r = g = b = v; } else {
pike.git/src/modules/Image/colors.c:1632:
#undef p #undef q #undef t _image_make_rgbf_color(r,g,b); } static void image_make_cmyk_color(INT32 args) { FLOAT_TYPE c,m,y,k,r,g,b;
-
get_all_args("
Image.Color.
cmyk
()
",args,"%F%F%F%F",&c,&m,&y,&k);
+
get_all_args("cmyk",args,"%F%F%F%F",&c,&m,&y,&k);
pop_n_elems(args); r=100-(c+k); g=100-(m+k); b=100-(y+k); _image_make_rgbf_color(r*0.01,g*0.01,b*0.01); } static void image_make_greylevel_color(INT32 args) { INT_TYPE i;
-
get_all_args("
Image.Color.
greylevel
()
",args,"%i",&i);
+
get_all_args("greylevel",args,"%i",&i);
pop_n_elems(args); _image_make_rgb_color(i,i,i); } static void image_make_html_color(INT32 args) { int i; if (args!=1 || TYPEOF(sp[-1]) != T_STRING) {
-
bad_arg_error("
Image.Color.
html",sp-args,args,0,"",sp-args,
-
"Bad arguments to
Image.Color.
html
()
\n");
+
bad_arg_error("html",sp-args,args,0,"",sp-args,
+
"Bad arguments to
html
.\n");
return; } f_lower_case(1); for (i=0; (size_t)i<sizeof(html_color)/sizeof(html_color[0]); i++) if (html_color[i].pname==sp[-1].u.string) { _image_make_rgb_color(html_color[i].r, html_color[i].g, html_color[i].b);