33 : dirname(dirname) { }
36 std::string
FileName(
int val)
const {
return ""; }
49 int NumFiles()
const {
return d.NumFiles()+1; }
50 std::string
FileName(
int val)
const {
if (val==0)
return f.FileName();
else return d.FileName(val-1); }
53 if (val==0)
return f.Contents();
else return d.FileContents(val-1);
55 int NumDirs()
const {
return d.NumDirs(); }
69 std::string
FileName(
int val)
const {
return d.FileName(val); }
70 std::string
FileContents(
int val)
const {
return d.FileContents(val); }
71 int NumDirs()
const {
return d.NumDirs()+1; }
74 if (val==0)
return &d_inside;
75 else return d.
Dir(val-1);
87 virtual std::string
Part()
const=0;
95 std::string
Part()
const {
return std::string(&c,&c+1); }
107 int size = vec.size();
109 for(
int i=0;i<
size;i++)
117 std::vector<HtmlPart*> vec;
142 TextPart(std::string contents) : contents(contents) { }
143 std::string
Part()
const {
return contents; }
145 std::string contents;
151 ImagePart(std::string filename,
int width,
int height) : filename(filename), width(width), height(height) { }
156 res +=
"<img border=\"0\" src=\"";
158 res +=
"\" width=\"";
162 std::stringstream s2;
164 res +=
"\" height=\"";
170 std::string filename;
194 s <<
"(" << p.
x <<
"," << p.
y <<
")";
210 s+=
"<table border=\"0\" cellspacing=\"0\">";
211 for(
int y=0;y<bm.SizeY();y++)
214 for(
int x=0;x<bm.SizeX();x++)
217 s+=bm.Map(x,y)->Part();
236 res +=
"<html><head><title>";
238 res +=
"</title></head>";
239 res +=
"<body TEXT=\"#000000\" BGCOLOR=\"#FFFFFF\" ACOLOR=\"#000000\">";
241 res +=
"</body></html>";
254 HtmlFile(std::string filename,
HtmlPart &contents) : filename(filename), contents(contents) { }
255 virtual std::string
FileName()
const {
return filename; }
256 virtual std::string
Contents()
const {
return contents.Part(); }
258 std::string filename;
276 virtual int SizeX()
const {
return sx; }
277 virtual int SizeY()
const {
return sy; }
280 if (x>=0 && x<sx && y>=0 && y<sy)
281 return Color(ref.buffer[x+y*ref.ydelta]);
282 return Color(0xff000000);
287 std::ifstream
str(filename.c_str());
289 if (ch!=
'P')
return false;
291 if (ch2!=
'3' && ch2!=
'A')
return false;
296 for(
int y=0;y<sy;y++)
297 for(
int x=0;x<sx;x++)
302 if (ch2==
'A')
str>>a;
304 ref.buffer[x+y*ref.ydelta] = c;
311 std::string filename;
319 PpmFile(std::string filename,
Bitmap<Color> &contents,
bool alpha) : filename(filename), contents(contents), alpha(alpha) { std::cout <<
"Alpha: " << alpha << std::endl; contents.Prepare(); }
320 virtual std::string
FileName()
const {
return filename; }
323 std::cout <<
"Alpha2: " << alpha << std::endl;
329 res +=
Num(contents.SizeX());
331 res +=
Num(contents.SizeY());
334 for(
int y=0;y<contents.SizeY();y++)
336 for(
int x=0;x<contents.SizeX();x++)
338 Color c = contents.Map(x,y);
339 res += std::string(
" ") +
Num(c.
r) +
" " +
Num(c.
g) +
" " +
Num(c.
b) +
" ";
340 if (alpha) { res+=
Num(c.
alpha) +
" "; }
347 std::string
Num(
int i)
const { std::stringstream s; s << i;
return s.str(); }
350 std::string filename;
358 PgmFile(std::string filename,
Bitmap<Color> &contents) : filename(filename), contents(contents) { contents.Prepare(); }
359 virtual std::string
FileName()
const {
return filename; }
364 res +=
Num(contents.SizeX());
366 res +=
Num(contents.SizeY());
369 for(
int y=0;y<contents.SizeY();y++)
371 for(
int x=0;x<contents.SizeX();x++)
373 Color c = contents.Map(x,y);
374 res += std::string(
" ") +
Num(c.
alpha) +
" ";
381 std::string
Num(
int i)
const { std::stringstream s; s << i;
return s.str(); }
384 std::string filename;
394 std::string tempfilename =
"./output/tmp.tmp",
395 std::string tempfilename2 =
"./output/tmp2.tmp")
396 : filename(filename),
398 tmpfilename(tempfilename),
399 tmpfilename2(tempfilename2)
400 { contents.Prepare(); }
402 virtual std::string
FileName()
const {
return filename; }
406 std::ofstream
f(tmpfilename.c_str());
407 PpmFile p(tmpfilename, contents);
411 std::ofstream
f2(tmpfilename2.c_str());
412 PgmFile p2(tmpfilename2, contents);
416 FILE *ff = popen((std::string(
"pnmtopng ")+
"-alpha " + tmpfilename2 +
" " +tmpfilename).c_str(),
"r");
421 size_t t = fread(&c, 1, 1, ff);
432 std::string filename;
434 std::string tmpfilename;
435 std::string tmpfilename2;
442 std::string
Part()
const {
return img.Part(); }
443 std::string
FileName()
const {
return png.FileName(); }
444 std::string
Contents()
const {
return png.Contents(); }
453 PngBitmapFunction(std::string file_basename,
Bitmap<Color> &bm,
int sx,
int sy) : filename(file_basename), bm(bm),sx(sx), sy(sy), img(0), constant(0) { bm.Prepare(); }
455 std::string
Num(
int i)
const { std::stringstream s; s << i;
return s.str(); }
457 std::string filename;
471 virtual int NumFiles()
const {
return d.NumFiles()+bm.SizeX()*bm.SizeY(); }
474 if (val < d.NumFiles())
476 return d.FileName(val);
480 int val_a = val-d.NumFiles();
481 int val_y = val_a / bm.SizeX();
482 int val_x = val_a - bm.SizeX()*val_y;
484 File *
f = bm.Map(val_x,val_y);
485 return f->FileName();
490 if (val < d.NumFiles())
492 return d.FileContents(val);
496 int val_a = val-d.NumFiles();
497 int val_y = val_a / bm.SizeX();
498 int val_x = val_a - bm.SizeX()*val_y;
500 File *
f = bm.Map(val_x,val_y);
501 return f->Contents();
504 virtual int NumDirs()
const {
return d.NumDirs(); }
void SaveFrameAnim(FrameAnim &f, Low_SDL_Surface *screen, std::string &output, float delta_time_between_frames, float total_time)
Definition Web.cc:13
void CreateFiles(Directory &d)
Definition Web.cc:43
void SaveFrameAnimToFile(FrameAnim &f, Low_SDL_Surface *screen, std::string filename, float delta_time_between_frames, float total_time)
Definition Web.cc:31
void CreateHtml()
Definition Web.cc:74
ArrayPart(T beg, T end)
Definition Web.hh:104
std::string Part() const
Definition Web.hh:105
virtual Directory * Dir(int val) const
Definition Web.hh:505
virtual int NumDirs() const
Definition Web.hh:504
virtual std::string DirectoryName() const
Definition Web.hh:470
virtual int NumFiles() const
Definition Web.hh:471
BitmapDirectory(Directory &d, Bitmap< File * > &bm)
Definition Web.hh:468
virtual std::string FileContents(int val) const
Definition Web.hh:488
virtual std::string FileName(int val) const
Definition Web.hh:472
std::string Part() const
Definition Web.hh:95
CharacterPart(char c)
Definition Web.hh:94
virtual void register_obj(CollectInterface *i)=0
ColorChooseFunction(Color true_color, Color false_color)
Definition Web.hh:177
Color Index(bool b) const
Definition Web.hh:178
Definition VectorTools.hh:380
unsigned int Pixel()
Definition VectorTools.hh:426
int r
Definition VectorTools.hh:744
int alpha
Definition VectorTools.hh:745
int g
Definition VectorTools.hh:744
int b
Definition VectorTools.hh:744
Directory * Dir(int val) const
Definition Web.hh:72
std::string FileContents(int val) const
Definition Web.hh:70
std::string FileName(int val) const
Definition Web.hh:69
std::string DirectoryName() const
Definition Web.hh:67
int NumFiles() const
Definition Web.hh:68
DirInDir(Directory &d, Directory &d_inside)
Definition Web.hh:66
int NumDirs() const
Definition Web.hh:71
virtual std::string FileName(int val) const =0
virtual int NumDirs() const =0
virtual std::string DirectoryName() const =0
virtual std::string FileContents(int val) const =0
virtual int NumFiles() const =0
virtual Directory * Dir(int val) const =0
DocBody(std::string title, HtmlPart &body)
Definition Web.hh:232
std::string Part() const
Definition Web.hh:233
std::string FileName(int val) const
Definition Web.hh:36
Directory * Dir(int val) const
Definition Web.hh:39
int NumDirs() const
Definition Web.hh:38
int NumFiles() const
Definition Web.hh:35
std::string FileContents(int val) const
Definition Web.hh:37
EmptyDir(std::string dirname)
Definition Web.hh:32
std::string DirectoryName() const
Definition Web.hh:34
std::string FileName(int val) const
Definition Web.hh:50
std::string DirectoryName() const
Definition Web.hh:48
Directory * Dir(int val) const
Definition Web.hh:56
int NumDirs() const
Definition Web.hh:55
FileInDir(Directory &d, File &f)
Definition Web.hh:47
std::string FileContents(int val) const
Definition Web.hh:51
int NumFiles() const
Definition Web.hh:49
virtual std::string Contents() const =0
virtual std::string FileName() const =0
HtmlFile(std::string filename, HtmlPart &contents)
Definition Web.hh:254
virtual std::string Contents() const
Definition Web.hh:256
virtual std::string FileName() const
Definition Web.hh:255
HtmlImage(std::string png_filename, Bitmap< Color > &c, int width, int height)
Definition Web.hh:441
std::string Contents() const
Definition Web.hh:444
std::string Part() const
Definition Web.hh:442
std::string FileName() const
Definition Web.hh:443
virtual std::string Part() const =0
virtual ~HtmlPart()
Definition Web.hh:88
HtmlTable(Bitmap< HtmlPart * > &bm)
Definition Web.hh:206
std::string Part() const
Definition Web.hh:207
std::string Part() const
Definition Web.hh:153
ImagePart(std::string filename, int width, int height)
Definition Web.hh:151
std::string Part() const
Definition Web.hh:124
LinkPart(std::string url, HtmlPart &text)
Definition Web.hh:123
virtual std::string FileName() const
Definition Web.hh:359
PgmFile(std::string filename, Bitmap< Color > &contents)
Definition Web.hh:358
virtual std::string Contents() const
Definition Web.hh:360
std::string Num(int i) const
Definition Web.hh:381
std::string Num(int i) const
Definition Web.hh:455
PngBitmapFunction(std::string file_basename, Bitmap< Color > &bm, int sx, int sy)
Definition Web.hh:453
HtmlImage * Index(Pos c) const
Definition Web.cc:141
virtual std::string FileName() const
Definition Web.hh:402
virtual std::string Contents() const
Definition Web.hh:403
PngFile(std::string filename, Bitmap< Color > &contents, std::string tempfilename="./output/tmp.tmp", std::string tempfilename2="./output/tmp2.tmp")
Definition Web.hh:392
PpmFileReader(std::string filename)
Definition Web.hh:265
void Prepare()
Definition Web.hh:273
bool status()
Definition Web.hh:275
virtual int SizeY() const
Definition Web.hh:277
void HeavyPrepare()
Definition Web.hh:269
bool Read()
Definition Web.hh:285
virtual Color Map(int x, int y) const
Definition Web.hh:278
void Collect(CollectVisitor &vis)
Definition Web.hh:266
virtual int SizeX() const
Definition Web.hh:276
PpmFile(std::string filename, Bitmap< Color > &contents, bool alpha)
Definition Web.hh:319
virtual std::string Contents() const
Definition Web.hh:321
std::string Num(int i) const
Definition Web.hh:347
virtual std::string FileName() const
Definition Web.hh:320
HtmlPart * Index(Pos p) const
Definition Web.hh:191
TableFunction()
Definition Web.hh:190
TextPart(std::string contents)
Definition Web.hh:142
std::string Part() const
Definition Web.hh:143
d
Definition meshpage.php:3895
str
Definition meshpage.php:1778
line height
Definition meshpage.php:3536
n< br > font size
Definition meshpage.php:3536
url
Definition meshpage.php:1781
double f(const std::string &, double, bool) noexcept
Definition profile_cpp_calls_2.cpp:4
int f2(char c)
Definition test.cpp:51
static BufferRef NewBuffer(int width, int height)
Definition Buffer.cc:36
Definition GameApi_low.hh:679
int x
Definition test.cpp:10
int y
Definition test.cpp:10