/*- * Copyright (C) 2025 Alessandro Iezzi * * This file is part of Tris Game. * * Tris Game is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Tris Game is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tris Game. If not, see . */ #include #include #include "line.h" Line * engine_line_new(float x1, float y1, float x2, float y2) { Line *line = malloc(sizeof(Line)); line->x1 = x1; line->y1 = y1; line->x2 = x2; line->y2 = y2; return line; } void engine_render_line(Line *line) { glLineWidth(5.0f); glBegin(GL_LINES); glColor3f(1.0f, 1.0f, 0.0f); /* Yellow */ glVertex2f(line->x1, line->y1); glVertex2f(line->x2, line->y2); glEnd(); } void engine_render_lines(list_t *lines) { if (lines == NULL || lines->size <= 0) return; glLineWidth(5.0f); glBegin(GL_LINES); glColor3f(1.0f, 1.0f, 0.0f); /* Yellow */ list_node_t *current = lines->head; do { Line *line = current->data; glVertex2f(line->x1, line->y1); glVertex2f(line->x2, line->y2); current = current->next; } while (current != NULL); glEnd(); }