diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-11-04 02:37:02 -0500 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-11-04 02:37:02 -0500 |
commit | 460b99583bcf6da4462f13ad75856283849904e7 (patch) | |
tree | 9190ac1ce1a9623b1e4a1630bc34eeb5dc6043eb | |
parent | 76bc3b3677062c0c1a6b9fa08ff20d12e470159c (diff) | |
download | wizard-460b99583bcf6da4462f13ad75856283849904e7.tar.gz wizard-460b99583bcf6da4462f13ad75856283849904e7.tar.bz2 wizard-460b99583bcf6da4462f13ad75856283849904e7.zip |
main.cpp does work for standalone entry
-rw-r--r-- | main.cpp | 16 | ||||
-rw-r--r-- | wizard.cpp | 17 | ||||
-rw-r--r-- | wizard.h | 18 |
3 files changed, 27 insertions, 24 deletions
diff --git a/main.cpp b/main.cpp index a0ba7bb..9327c20 100644 --- a/main.cpp +++ b/main.cpp | |||
@@ -4,6 +4,8 @@ | |||
4 | #include <iostream> | 4 | #include <iostream> |
5 | #include <string> | 5 | #include <string> |
6 | 6 | ||
7 | #include "cardset.h" | ||
8 | #include "imagestore.h" | ||
7 | #include "wizard.h" | 9 | #include "wizard.h" |
8 | 10 | ||
9 | int main(int argc, char** argv) { | 11 | int main(int argc, char** argv) { |
@@ -29,16 +31,18 @@ int main(int argc, char** argv) { | |||
29 | "o", "output", "Path to write image output to", true, "", "filename"); | 31 | "o", "output", "Path to write image output to", true, "", "filename"); |
30 | cmd.add(outputPath); | 32 | cmd.add(outputPath); |
31 | 33 | ||
32 | TCLAP::ValueArg<std::string> jsonPath( | 34 | TCLAP::ValueArg<std::string> textInput("t", "text", "Text to render", true, |
33 | "j", "json", "Path to write JSON output to", false, "", "filename"); | 35 | "", "text"); |
34 | cmd.add(jsonPath); | 36 | cmd.add(textInput); |
35 | 37 | ||
36 | cmd.parse(argc, argv); | 38 | cmd.parse(argc, argv); |
37 | 39 | ||
38 | wizard app(cardsPath.getValue(), cachePath.getValue(), | 40 | cardset cards(cardsPath.getValue()); |
39 | outputPath.getValue(), jsonPath.getValue(), rng); | 41 | imagestore images(cachePath.getValue()); |
40 | 42 | ||
41 | app.run(); | 43 | wizard app(cards, images, textInput.getValue(), rng); |
44 | Magick::Image result = app.run(); | ||
45 | result.write(outputPath.getValue()); | ||
42 | } catch (const TCLAP::ArgException& e) { | 46 | } catch (const TCLAP::ArgException& e) { |
43 | std::cerr << "Error: " << e.error() << " for arg " << e.argId() | 47 | std::cerr << "Error: " << e.error() << " for arg " << e.argId() |
44 | << std::endl; | 48 | << std::endl; |
diff --git a/wizard.cpp b/wizard.cpp index 4eaefb3..1541fed 100644 --- a/wizard.cpp +++ b/wizard.cpp | |||
@@ -38,13 +38,9 @@ class pix_deleter { | |||
38 | 38 | ||
39 | using pix_ptr = std::unique_ptr<Pix, pix_deleter>; | 39 | using pix_ptr = std::unique_ptr<Pix, pix_deleter>; |
40 | 40 | ||
41 | wizard::wizard(std::string cardsPath, std::string cachePath, | 41 | wizard::wizard(const cardset& cards, const imagestore& images, std::string text, |
42 | std::string outputPath, std::string jsonPath, std::mt19937& rng) | 42 | std::mt19937& rng) |
43 | : cards_(cardsPath), | 43 | : cards_(cards), images_(images), text_(text), rng_(rng()) { |
44 | images_(cachePath), | ||
45 | outputPath_(outputPath), | ||
46 | jsonPath_(jsonPath), | ||
47 | rng_(rng) { | ||
48 | std::cout << "Characters: "; | 44 | std::cout << "Characters: "; |
49 | 45 | ||
50 | for (char ch : cards_.getCharacters()) { | 46 | for (char ch : cards_.getCharacters()) { |
@@ -54,8 +50,8 @@ wizard::wizard(std::string cardsPath, std::string cachePath, | |||
54 | std::cout << std::endl; | 50 | std::cout << std::endl; |
55 | } | 51 | } |
56 | 52 | ||
57 | void wizard::run() { | 53 | Magick::Image wizard::run() { |
58 | std::string text = "what the heck, it's just some gay guy"; | 54 | std::string text = text_; //"what the heck, it's just some gay guy"; |
59 | // getline(std::cin, text); | 55 | // getline(std::cin, text); |
60 | if (text.back() == '\r') { | 56 | if (text.back() == '\r') { |
61 | text.pop_back(); | 57 | text.pop_back(); |
@@ -252,5 +248,6 @@ void wizard::run() { | |||
252 | } | 248 | } |
253 | 249 | ||
254 | endImage.magick("PNG"); | 250 | endImage.magick("PNG"); |
255 | endImage.write(outputPath_); | 251 | |
252 | return endImage; | ||
256 | } | 253 | } |
diff --git a/wizard.h b/wizard.h index 9b27143..a02197b 100644 --- a/wizard.h +++ b/wizard.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef WIZARD_H_1014B13E | 1 | #ifndef WIZARD_H_1014B13E |
2 | #define WIZARD_H_1014B13E | 2 | #define WIZARD_H_1014B13E |
3 | 3 | ||
4 | #include <Magick++.h> | ||
5 | |||
4 | #include <random> | 6 | #include <random> |
5 | #include <string> | 7 | #include <string> |
6 | 8 | ||
@@ -9,17 +11,17 @@ | |||
9 | 11 | ||
10 | class wizard { | 12 | class wizard { |
11 | public: | 13 | public: |
12 | wizard(std::string cardsPath, std::string cachePath, std::string outputPath, | 14 | wizard(const cardset& cards, const imagestore& images, std::string text, |
13 | std::string jsonPath, std::mt19937& rng); | 15 | std::mt19937& rng); |
14 | 16 | ||
15 | void run(); | 17 | Magick::Image run(); |
16 | 18 | ||
17 | private: | 19 | private: |
18 | cardset cards_; | 20 | const cardset& cards_; |
19 | imagestore images_; | 21 | const imagestore& images_; |
20 | std::string outputPath_; | 22 | std::string text_; |
21 | std::string jsonPath_; | 23 | |
22 | std::mt19937& rng_; | 24 | std::mt19937 rng_; |
23 | }; | 25 | }; |
24 | 26 | ||
25 | #endif /* end of include guard: WIZARD_H_1014B13E */ | 27 | #endif /* end of include guard: WIZARD_H_1014B13E */ |