int selection;
ColorPicker color_picker;
Vec2f move_anchor;
- Edit_field *edit_field;
+ Edit_field edit_field;
Vec2f inter_position;
Color inter_color;
int id_name_counter;
label_layer->color_picker = create_color_picker_from_rgba(COLOR_RED);
label_layer->selection = -1;
- label_layer->edit_field = PUSH_LT(
- lt,
- create_edit_field(LABELS_SIZE, COLOR_RED),
- destroy_edit_field);
- if (label_layer->edit_field == NULL) {
- RETURN_LT(lt, NULL);
- }
+ label_layer->edit_field.font_size = LABELS_SIZE;
+ label_layer->edit_field.font_color = COLOR_RED;
label_layer->id_name_prefix = id_name_prefix;
// Label Text
if (label_layer->state == LABEL_LAYER_EDIT_TEXT && label_layer->selection == (int) i) {
if (edit_field_render_world(
- label_layer->edit_field,
+ &label_layer->edit_field,
camera,
position) < 0) {
return -1;
// Label ID
if (label_layer->state == LABEL_LAYER_EDIT_ID && label_layer->selection == (int)i) {
if (edit_field_render_world(
- label_layer->edit_field,
+ &label_layer->edit_field,
camera,
vec_sum(
position,
undo_history);
label_layer->state = LABEL_LAYER_EDIT_TEXT;
edit_field_replace(
- label_layer->edit_field,
+ &label_layer->edit_field,
texts + label_layer->selection * LABEL_LAYER_TEXT_MAX_SIZE);
edit_field_restyle(
- label_layer->edit_field,
+ &label_layer->edit_field,
LABELS_SIZE,
colors[label_layer->selection]);
SDL_StartTextInput();
if (label_layer->selection >= 0) {
label_layer->state = LABEL_LAYER_EDIT_TEXT;
edit_field_replace(
- label_layer->edit_field,
+ &label_layer->edit_field,
texts + label_layer->selection * LABEL_LAYER_TEXT_MAX_SIZE);
edit_field_restyle(
- label_layer->edit_field,
+ &label_layer->edit_field,
LABELS_SIZE,
colors[label_layer->selection]);
SDL_StartTextInput();
if (label_layer->selection >= 0) {
label_layer->state = LABEL_LAYER_EDIT_ID;
edit_field_replace(
- label_layer->edit_field,
+ &label_layer->edit_field,
ids + label_layer->selection * LABEL_LAYER_ID_MAX_SIZE);
edit_field_restyle(
- label_layer->edit_field,
+ &label_layer->edit_field,
vec(1.0f, 1.0f),
color_invert(colors[label_layer->selection]));
SDL_StartTextInput();
char *text =
(char*)label_layer->texts.data + label_layer->selection * LABEL_LAYER_TEXT_MAX_SIZE;
memset(text, 0, LABEL_LAYER_TEXT_MAX_SIZE);
- memcpy(text, edit_field_as_text(label_layer->edit_field), LABEL_LAYER_TEXT_MAX_SIZE - 1);
+ memcpy(text, edit_field_as_text(&label_layer->edit_field), LABEL_LAYER_TEXT_MAX_SIZE - 1);
label_layer->state = LABEL_LAYER_IDLE;
SDL_StopTextInput();
return 0;
} break;
}
- return edit_field_event(label_layer->edit_field, event);
+ return edit_field_event(&label_layer->edit_field, event);
}
static
char *id =
(char*)label_layer->ids.data + label_layer->selection * LABEL_LAYER_ID_MAX_SIZE;
memset(id, 0, LABEL_LAYER_ID_MAX_SIZE);
- memcpy(id, edit_field_as_text(label_layer->edit_field), LABEL_LAYER_ID_MAX_SIZE - 1);
+ memcpy(id, edit_field_as_text(&label_layer->edit_field), LABEL_LAYER_ID_MAX_SIZE - 1);
label_layer->state = LABEL_LAYER_IDLE;
SDL_StopTextInput();
return 0;
} break;
}
- return edit_field_event(label_layer->edit_field, event);
+ return edit_field_event(&label_layer->edit_field, event);
}
static