annotate src/kaigo/horori/searcher/src/utils.cpp @ 48:ca00c4a85b98

small changes.
author pyon@macmini
date Wed, 22 Apr 2020 19:00:50 +0900
parents 169936fed61b
children 638e1ad05cae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
1 // Filename : utils.cpp
48
ca00c4a85b98 small changes.
pyon@macmini
parents: 47
diff changeset
2 // Last Change: 2020-04-22 09:21:01.
45
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
3 //
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
4 #include <wx/wx.h>
47
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
5 #include <wx/dir.h>
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
6 #include <wx/wfstream.h>
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
7 #include <wx/zstream.h>
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
8 #include <wx/tarstrm.h>
45
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
9 #include "utils.h"
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
10
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
11 wxRect Geo2Rect(wxString geo)
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
12 {
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
13 long w, h, x, y;
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
14 wxString sw = geo.BeforeFirst('x');
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
15 wxString sh = geo.AfterFirst('x').BeforeFirst('+');
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
16 wxString sx = geo.AfterFirst('+').BeforeFirst('+');
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
17 wxString sy = geo.AfterLast('+');
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
18
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
19 sw.ToLong(&w, 10);
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
20 sh.ToLong(&h, 10);
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
21 sx.ToLong(&x, 10);
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
22 sy.ToLong(&y, 10);
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
23
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
24 return wxRect((int)x, (int)y, (int)w, (int)h);
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
25 }
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
26
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
27 wxRect ZeroRect()
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
28 {
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
29 wxRect rect(wxPoint(0, 0), wxPoint(0, 0));
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
30 return rect;
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
31 }
20b42e2deae1 add alloc, (new)mover, merger & (new)searcher.
pyon@macmini
parents:
diff changeset
32
47
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
33 bool TarDir(wxString dir, wxString tarfile)
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
34 {
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
35 if (!wxDirExists(dir)) {
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
36 wxMessageBox(wxT("bad directoy"));
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
37 return false;
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
38 }
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
39
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
40 wxDir d(dir);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
41 if (!d.IsOpened()) return false;
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
42
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
43 wxFFileOutputStream out(tarfile);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
44 wxTarOutputStream tar(out);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
45
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
46 wxString filename;
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
47 bool cont = d.GetFirst(&filename, wxEmptyString, wxDIR_FILES);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
48 while (cont) {
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
49 wxFFileInputStream in(dir + wxFILE_SEP_PATH + filename);
48
ca00c4a85b98 small changes.
pyon@macmini
parents: 47
diff changeset
50 tar.PutNextEntry(filename);
47
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
51 tar.Write(in);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
52 cont = d.GetNext(&filename);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
53 }
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
54 tar.Close();
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
55 return true;
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
56 }
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
57
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
58 bool Gzip(wxString infile, wxString gzfile)
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
59 {
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
60 wxFileInputStream istream(infile);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
61 wxFileOutputStream ostream(gzfile);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
62 wxZlibOutputStream zstream(ostream, -1, wxZLIB_GZIP);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
63
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
64 zstream.Write(istream);
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
65 zstream.Close();
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
66 return true;
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
67 }
169936fed61b small changes.
pyon@macmini
parents: 45
diff changeset
68