Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var html, i, j, str, c, c2, sw, lineHeight;
- surface=surface_create(1280, 720);
- html=argument0;
- surface_set_target(surface);
- draw_set_color(c_white);
- draw_rectangle(0, 0, 1280, 720, false);
- draw_set_color(c_black);
- sh=32;
- lineHeight=0;
- for (i=0; i<ds_list_size(html.page); i+=1){
- str=ds_list_find_value(html.page, i);
- sw=0;
- sh+=lineHeight+4;
- lineHeight=0;
- for (j=1; j<=string_length(str); j+=1){
- c=string_char_at(str, j);
- if (c=="\"){
- // Ignore the rest of the line
- } else if (c=="<"){
- // Start a tag
- c="";
- while (j<string_length(str)){
- j+=1;
- c2=string_char_at(str, j);
- if (c2==">")
- break;
- else
- c+=c2;
- }
- var terms;
- terms=string_split(string_lower(c), "=");
- c=de(terms);
- if (string_char_at(c, 1)=="/"){
- c=string_copy(c, 2, string_length(c)-1);
- switch (c){
- case "p":
- // i really don't remember why I decided I needed this
- break;
- case "i":
- isItalic=false;
- break;
- case "u":
- isUnderlined=false;
- break;
- case "strike":
- isStrike=false;
- break;
- case "b":
- isBold=false;
- break;
- case "h1":
- draw_set_font(FontDefault);
- draw_set_color(c_black);
- break;
- case "planewalker":
- draw_set_font(FontDefault);
- break;
- case "color":
- draw_set_color(c_black);
- break;
- case "sup":
- verticalOffset=0;
- break;
- case "sub":
- verticalOffset=0;
- break;
- }
- } else {
- switch (c){
- case "p":
- // i really don't remember why I decided I needed this
- break;
- case "i":
- isItalic=355; // degree slant of italic text
- break;
- case "u":
- isUnderlined=true;
- break;
- case "strike":
- isStrike=true;
- break;
- case "b":
- isBold=true;
- break;
- case "h1":
- draw_set_font(FontH1);
- draw_set_color(c_blue);
- break;
- case "planewalker":
- draw_set_font(FontPlanewalker);
- break;
- case "color":
- setHTMLColor(de(terms));
- break;
- case "sup":
- verticalOffset=-1;
- break;
- case "sub":
- verticalOffset=1;
- break;
- }
- }
- ds_queue_destroy(terms);
- } else if (c=="$"){
- // Value
- } else if (c=="%"){
- // Function/Script call
- } else {
- // Actual text
- var dim;
- dim=string_split(addHTMLCharacter(32+sw, 32+sh, c), ",");
- sw+=real(de(dim))+1;
- lineHeight=max(lineHeight, real(de(dim)));
- ds_queue_destroy(dim);
- }
- }
- }
- surface_reset_target();
Advertisement
Add Comment
Please, Sign In to add comment