- dynarray_push(point_layer->points, &point);
- dynarray_push(point_layer->colors, &color);
- dynarray_push(point_layer->ids, id);
+ dynarray_push(point_layer->points, &point);
+ dynarray_push(point_layer->colors, &color);
+ dynarray_push(point_layer->ids, id);
+ } break;
+ }
+ } break;
+
+ case SDL_KEYDOWN: {
+ switch (event->key.keysym.sym) {
+ case SDLK_DELETE: {
+ if (0 <= point_layer->selected && point_layer->selected < (int) dynarray_count(point_layer->points)) {
+ dynarray_delete_at(point_layer->points, (size_t) point_layer->selected);
+ dynarray_delete_at(point_layer->colors, (size_t) point_layer->selected);
+ dynarray_delete_at(point_layer->ids, (size_t) point_layer->selected);
+ }
+ point_layer->selected = -1;
+ } break;
+
+ case SDLK_F2: {
+ if (point_layer->selected >= 0) {
+ char *ids = dynarray_data(point_layer->ids);
+ point_layer->state = POINT_LAYER_EDIT_ID;
+ edit_field_replace(
+ point_layer->edit_field,
+ ids + ID_MAX_SIZE * point_layer->selected);
+ SDL_StartTextInput();
+ }
+ } break;
+ }
+ } break;