Euphoria
collage.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <optional>
5 
6 #include "base/vec2.h"
7 #include "base/size2.h"
8 
9 
10 namespace eu
11 {
12  struct Rgbi;
13 }
14 
15 namespace eu::core
16 {
17  struct Image;
18 
19  std::vector<size2i> collect_sizes
20  (
21  const std::vector<Image>& images,
22  int padding
23  );
24 
25  Image
27  (
28  const std::vector<vec2i>& positions,
29  const std::vector<Image>& images,
30  const size2i& size,
31  const Rgbi& background_color
32  );
33 
34  size2i
36  (
37  const size2i& default_size,
38  std::vector<vec2i>* positions,
39  const std::vector<Image>& images,
40  int padding
41  );
42 
43 
45 
46  std::vector<vec2i>
48  (
49  const size2i& image_size,
50  const std::vector<Image>& images,
51  const std::vector<std::string>& files,
52  int padding
53  );
54 
55 
56  std::optional<Image>
58  (
59  const std::vector<Image>& images,
60  const std::vector<std::string>& files,
61  const size2i& requested_size,
62  int padding,
63  Rgbi background_color,
64  bool pack_image
65  );
66 
67 
69 
70 
71  std::pair<std::vector<vec2i>, size2i>
73  (
74  const std::vector<Image>& images,
75  int padding,
76  bool top_to_bottom
77  );
78 
79 
80  // todo(Gustav): rename to lay_out_on_a_image
81  Image
83  (
84  const std::vector<Image>& images,
85  int padding,
86  Rgbi background_color,
87  bool top_to_bottom
88  );
89 
90 }
Image draw_image(const std::vector< vec2i > &positions, const std::vector< Image > &images, const size2i &size, const Rgbi &background_color)
Definition: collage.cc:38
std::pair< std::vector< vec2i >, size2i > lay_out_in_a_grid(const std::vector< Image > &images, int padding, bool top_to_bottom)
Definition: collage.cc:206
std::vector< vec2i > pack_image(const size2i &image_size, const std::vector< Image > &images, const std::vector< std::string > &files, int padding)
Definition: collage.cc:114
std::vector< size2i > collect_sizes(const std::vector< Image > &images, int padding)
Definition: collage.cc:16
size2i pack_tight(const size2i &default_size, std::vector< vec2i > *positions, const std::vector< Image > &images, int padding)
Definition: collage.cc:71
Definition: assert.h:90