mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
109 lines
2.7 KiB
Protocol Buffer
109 lines
2.7 KiB
Protocol Buffer
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
syntax = "proto3";
|
|
|
|
option java_multiple_files = true;
|
|
|
|
package anki.image_occlusion;
|
|
|
|
import "anki/collection.proto";
|
|
import "anki/generic.proto";
|
|
|
|
service ImageOcclusionService {
|
|
rpc GetImageForOcclusion(GetImageForOcclusionRequest)
|
|
returns (GetImageForOcclusionResponse);
|
|
rpc GetImageOcclusionNote(GetImageOcclusionNoteRequest)
|
|
returns (GetImageOcclusionNoteResponse);
|
|
rpc GetImageOcclusionFields(GetImageOcclusionFieldsRequest)
|
|
returns (GetImageOcclusionFieldsResponse);
|
|
// Adds an I/O notetype if none exists in the collection.
|
|
rpc AddImageOcclusionNotetype(generic.Empty) returns (collection.OpChanges);
|
|
// These two are used by the standalone I/O page, but not used when using
|
|
// I/O inside Anki's editor
|
|
rpc AddImageOcclusionNote(AddImageOcclusionNoteRequest)
|
|
returns (collection.OpChanges);
|
|
rpc UpdateImageOcclusionNote(UpdateImageOcclusionNoteRequest)
|
|
returns (collection.OpChanges);
|
|
}
|
|
|
|
// Implicitly includes any of the above methods that are not listed in the
|
|
// backend service.
|
|
service BackendImageOcclusionService {}
|
|
|
|
message GetImageForOcclusionRequest {
|
|
string path = 1;
|
|
}
|
|
|
|
message GetImageForOcclusionResponse {
|
|
bytes data = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message AddImageOcclusionNoteRequest {
|
|
string image_path = 1;
|
|
string occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
int64 notetype_id = 6;
|
|
}
|
|
|
|
message GetImageOcclusionNoteRequest {
|
|
int64 note_id = 1;
|
|
}
|
|
|
|
message GetImageOcclusionNoteResponse {
|
|
message ImageOcclusionProperty {
|
|
string name = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message ImageOcclusionShape {
|
|
string shape = 1;
|
|
repeated ImageOcclusionProperty properties = 2;
|
|
}
|
|
|
|
message ImageOcclusion {
|
|
repeated ImageOcclusionShape shapes = 1;
|
|
uint32 ordinal = 2;
|
|
}
|
|
|
|
message ImageOcclusionNote {
|
|
bytes image_data = 1;
|
|
repeated ImageOcclusion occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
string image_file_name = 6;
|
|
bool occlude_inactive = 7;
|
|
}
|
|
|
|
oneof value {
|
|
ImageOcclusionNote note = 1;
|
|
string error = 2;
|
|
}
|
|
}
|
|
|
|
message UpdateImageOcclusionNoteRequest {
|
|
int64 note_id = 1;
|
|
string occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
}
|
|
|
|
message GetImageOcclusionFieldsRequest {
|
|
int64 notetype_id = 1;
|
|
}
|
|
|
|
message GetImageOcclusionFieldsResponse {
|
|
ImageOcclusionFieldIndexes fields = 1;
|
|
}
|
|
|
|
message ImageOcclusionFieldIndexes {
|
|
uint32 occlusions = 1;
|
|
uint32 image = 2;
|
|
uint32 header = 3;
|
|
uint32 back_extra = 4;
|
|
}
|