Branch data Line data Source code
1 : : /* 2 : : * Copyright (C) 2021 James Westman <james@jwestman.net> 3 : : * 4 : : * This library is free software; you can redistribute it and/or 5 : : * modify it under the terms of the GNU Lesser General Public 6 : : * License as published by the Free Software Foundation; either 7 : : * version 2.1 of the License, or (at your option) any later version. 8 : : * 9 : : * This library is distributed in the hope that it will be useful, 10 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 : : * Lesser General Public License for more details. 13 : : * 14 : : * You should have received a copy of the GNU Lesser General Public 15 : : * License along with this library; if not, see <https://www.gnu.org/licenses/>. 16 : : */ 17 : : 18 : : #pragma once 19 : : 20 : : #include <gtk/gtk.h> 21 : : #include "shumate-vector-symbol-info-private.h" 22 : : #include "shumate-vector-collision-private.h" 23 : : 24 : : G_BEGIN_DECLS 25 : : 26 : : #define SHUMATE_TYPE_VECTOR_SYMBOL (shumate_vector_symbol_get_type()) 27 [ # # # # : 0 : G_DECLARE_FINAL_TYPE (ShumateVectorSymbol, shumate_vector_symbol, SHUMATE, VECTOR_SYMBOL, GtkWidget) # # ] 28 : : 29 : : ShumateVectorSymbol *shumate_vector_symbol_new (ShumateVectorSymbolInfo *symbol_info); 30 : : 31 : : ShumateVectorSymbolInfo *shumate_vector_symbol_get_symbol_info (ShumateVectorSymbol *self); 32 : : 33 : : gboolean shumate_vector_symbol_calculate_collision (ShumateVectorSymbol *self, 34 : : ShumateVectorCollision *collision, 35 : : double x, 36 : : double y, 37 : : double zoom_level, 38 : : double rotation, 39 : : graphene_rect_t *bounds_out); 40 : : G_END_DECLS