aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/google.golang.org/appengine/internal/image/images_service.proto
blob: f0d2ed5d362a02fdb654858df4e110515dddef83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
syntax = "proto2";
option go_package = "image";

package appengine;

message ImagesServiceError {
  enum ErrorCode {
    UNSPECIFIED_ERROR = 1;
    BAD_TRANSFORM_DATA = 2;
    NOT_IMAGE = 3;
    BAD_IMAGE_DATA = 4;
    IMAGE_TOO_LARGE = 5;
    INVALID_BLOB_KEY = 6;
    ACCESS_DENIED = 7;
    OBJECT_NOT_FOUND = 8;
  }
}

message ImagesServiceTransform {
  enum Type {
    RESIZE = 1;
    ROTATE = 2;
    HORIZONTAL_FLIP = 3;
    VERTICAL_FLIP = 4;
    CROP = 5;
    IM_FEELING_LUCKY = 6;
  }
}

message Transform {
  optional int32 width = 1;
  optional int32 height = 2;
  optional bool crop_to_fit = 11 [default = false];
  optional float crop_offset_x = 12 [default = 0.5];
  optional float crop_offset_y = 13 [default = 0.5];

  optional int32 rotate = 3 [default = 0];

  optional bool horizontal_flip = 4 [default = false];

  optional bool vertical_flip = 5 [default = false];

  optional float crop_left_x = 6 [default = 0.0];
  optional float crop_top_y = 7 [default = 0.0];
  optional float crop_right_x = 8 [default = 1.0];
  optional float crop_bottom_y = 9 [default = 1.0];

  optional bool autolevels = 10 [default = false];

  optional bool allow_stretch = 14 [default = false];
}

message ImageData {
  required bytes content = 1 [ctype=CORD];
  optional string blob_key = 2;

  optional int32 width = 3;
  optional int32 height = 4;
}

message InputSettings {
  enum ORIENTATION_CORRECTION_TYPE {
    UNCHANGED_ORIENTATION = 0;
    CORRECT_ORIENTATION = 1;
  }
  optional ORIENTATION_CORRECTION_TYPE correct_exif_orientation = 1
      [default=UNCHANGED_ORIENTATION];
  optional bool parse_metadata = 2 [default=false];
  optional int32 transparent_substitution_rgb = 3;
}

message OutputSettings {
  enum MIME_TYPE {
    PNG = 0;
    JPEG = 1;
    WEBP = 2;
  }

  optional MIME_TYPE mime_type = 1 [default=PNG];
  optional int32 quality = 2;
}

message ImagesTransformRequest {
  required ImageData image = 1;
  repeated Transform transform = 2;
  required OutputSettings output = 3;
  optional InputSettings input = 4;
}

message ImagesTransformResponse {
  required ImageData image = 1;
  optional string source_metadata = 2;
}

message CompositeImageOptions {
  required int32 source_index = 1;
  required int32 x_offset = 2;
  required int32 y_offset = 3;
  required float opacity = 4;

  enum ANCHOR {
    TOP_LEFT = 0;
    TOP = 1;
    TOP_RIGHT = 2;
    LEFT = 3;
    CENTER = 4;
    RIGHT = 5;
    BOTTOM_LEFT = 6;
    BOTTOM = 7;
    BOTTOM_RIGHT = 8;
  }

  required ANCHOR anchor = 5;
}

message ImagesCanvas {
  required int32 width = 1;
  required int32 height = 2;
  required OutputSettings output = 3;
  optional int32 color = 4 [default=-1];
}

message ImagesCompositeRequest {
  repeated ImageData image = 1;
  repeated CompositeImageOptions options = 2;
  required ImagesCanvas canvas = 3;
}

message ImagesCompositeResponse {
  required ImageData image = 1;
}

message ImagesHistogramRequest {
  required ImageData image = 1;
}

message ImagesHistogram {
  repeated int32 red = 1;
  repeated int32 green = 2;
  repeated int32 blue = 3;
}

message ImagesHistogramResponse {
  required ImagesHistogram histogram = 1;
}

message ImagesGetUrlBaseRequest {
  required string blob_key = 1;

  optional bool create_secure_url = 2 [default = false];
}

message ImagesGetUrlBaseResponse {
  required string url = 1;
}

message ImagesDeleteUrlBaseRequest {
  required string blob_key = 1;
}

message ImagesDeleteUrlBaseResponse {
}