+static int c_edittext(map_t*args)
+{
+ //"name font size width height text="" color=black maxlength=0 variable="" @password=0 @wordwrap=0 @multiline=0 @html=0 @noselect=0 @readonly=0 @autosize=0"},
+ char*name = lu(args, "name");
+ char*font = lu(args, "font");
+ int size = (int)(1024*parsePxOrPercent(font, lu(args, "size")));
+ int width = parseTwip(lu(args, "width"));
+ int height = parseTwip(lu(args, "height"));
+ char*text = lu(args, "text");
+ RGBA color = parseColor(lu(args, "color"));
+ int maxlength = parseInt(lu(args, "maxlength"));
+ char*variable = lu(args, "variable");
+ char*passwordstr = lu(args, "password");
+ char*wordwrapstr = lu(args, "wordwrap");
+ char*multilinestr = lu(args, "multiline");
+ char*htmlstr = lu(args, "html");
+ char*noselectstr = lu(args, "noselect");
+ char*readonlystr = lu(args, "readonly");
+ char*borderstr = lu(args, "border");
+ char*autosizestr = lu(args, "autosize");
+ char*alignstr = lu(args, "align");
+ int align = -1;
+
+ int flags = 0;
+ if(!strcmp(passwordstr, "password")) flags |= ET_PASSWORD;
+ if(!strcmp(wordwrapstr, "wordwrap")) flags |= ET_WORDWRAP;
+ if(!strcmp(multilinestr, "multiline")) flags |= ET_MULTILINE;
+ if(!strcmp(readonlystr, "readonly")) flags |= ET_READONLY;
+ if(!strcmp(htmlstr, "html")) flags |= ET_HTML;
+ if(!strcmp(noselectstr, "noselect")) flags |= ET_NOSELECT;
+ if(!strcmp(borderstr, "border")) flags |= ET_BORDER;
+ if(!strcmp(autosizestr, "autosize")) flags |= ET_AUTOSIZE;
+ if(!strcmp(alignstr, "left") || !*alignstr) align = ET_ALIGN_LEFT;
+ else if(!strcmp(alignstr, "right")) align = ET_ALIGN_RIGHT;
+ else if(!strcmp(alignstr, "center")) align = ET_ALIGN_CENTER;
+ else if(!strcmp(alignstr, "justify")) align = ET_ALIGN_JUSTIFY;
+ else syntaxerror("Unknown alignment: %s", alignstr);
+
+ s_edittext(name, font, size, width, height, text, &color, maxlength, variable, flags, align);
+ return 0;
+}