yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
canvas_automation_client.h
Go to the documentation of this file.
1#ifndef YAZE_CLI_SERVICE_GUI_CANVAS_AUTOMATION_CLIENT_H_
2#define YAZE_CLI_SERVICE_GUI_CANVAS_AUTOMATION_CLIENT_H_
3
4#include <memory>
5#include <string>
6#include <vector>
7
8#include "absl/status/status.h"
9#include "absl/status/statusor.h"
10
11#ifdef YAZE_WITH_GRPC
12#ifdef _WIN32
13#pragma push_macro("DWORD")
14#pragma push_macro("ERROR")
15#undef DWORD
16#undef ERROR
17#endif
18
19#include <grpcpp/grpcpp.h>
20#include "protos/canvas_automation.grpc.pb.h"
21
22#ifdef _WIN32
23#pragma pop_macro("DWORD")
24#pragma pop_macro("ERROR")
25#endif
26#endif
27
28namespace yaze {
29namespace cli {
30
32 public:
33 explicit CanvasAutomationClient(const std::string& server_address);
34
35 absl::Status Connect();
36
37 absl::Status SetTile(const std::string& canvas_id, int x, int y, int tile_id);
38 absl::StatusOr<int> GetTile(const std::string& canvas_id, int x, int y);
39
40 struct TileData {
41 int x;
42 int y;
44 };
45 absl::Status SetTiles(const std::string& canvas_id, const std::vector<TileData>& tiles);
46
47 absl::Status SelectTile(const std::string& canvas_id, int x, int y);
48 absl::Status SelectTileRect(const std::string& canvas_id, int x1, int y1, int x2, int y2);
49 absl::Status ClearSelection(const std::string& canvas_id);
50
51 absl::Status ScrollToTile(const std::string& canvas_id, int x, int y, bool center = true);
52 absl::Status SetZoom(const std::string& canvas_id, float zoom);
53
54 private:
55 std::string server_address_;
56#ifdef YAZE_WITH_GRPC
57 std::unique_ptr<proto::CanvasAutomation::Stub> stub_;
58#endif
59};
60
61} // namespace cli
62} // namespace yaze
63
64#endif // YAZE_CLI_SERVICE_GUI_CANVAS_AUTOMATION_CLIENT_H_
absl::Status SetTiles(const std::string &canvas_id, const std::vector< TileData > &tiles)
absl::Status SetZoom(const std::string &canvas_id, float zoom)
absl::Status SelectTile(const std::string &canvas_id, int x, int y)
absl::Status ClearSelection(const std::string &canvas_id)
absl::StatusOr< int > GetTile(const std::string &canvas_id, int x, int y)
absl::Status ScrollToTile(const std::string &canvas_id, int x, int y, bool center=true)
CanvasAutomationClient(const std::string &server_address)
absl::Status SelectTileRect(const std::string &canvas_id, int x1, int y1, int x2, int y2)
absl::Status SetTile(const std::string &canvas_id, int x, int y, int tile_id)