Lab8 test 1.0.1
Demonstartion of OOP in C
 
Загрузка...
Поиск...
Не найдено
shape.h
См. документацию.
1
11
12#pragma once
13
14#include <stdio.h>
15#include <stdlib.h>
16
17#include "point.h"
18
19typedef struct Shape shape_t;
20typedef struct ShapeVTable vft_shape_t;
21
26typedef void (*draw_func_t)(const struct Shape *);
27
32typedef void (*move_func_t)(struct Shape *, int, int);
33
43
53
61void shape_move(shape_t *c, int x, int y);
62
72void move(shape_t *c, int x, int y);
73
81void draw(const shape_t *c);
82
88void destroy_shape(shape_t *c);
struct Point2 point2_t
Точка на двумерной плоскости
void(* draw_func_t)(const struct Shape *)
Тип функции для отрисовки абстрактной фигуры
Определения shape.h:26
struct ShapeVTable vft_shape_t
Таблица виртуальных функций Фигуры
Определения shape.h:20
void destroy_shape(shape_t *c)
Деструктор Фигуры
Определения shape.c:58
void(* move_func_t)(struct Shape *, int, int)
Тип функции для смешения фигуры в новый центр
Определения shape.h:32
void move(shape_t *c, int x, int y)
Метод для смещения Фигуры в новый центр
Определения shape.c:36
struct Shape shape_t
Абстрактная Фигура
Определения shape.h:19
void shape_move(shape_t *c, int x, int y)
Функция для смещения Фигуры в новый центр
Определения shape.c:21
void draw(const shape_t *c)
Метод для отрисовки Фигуры
Определения shape.c:48
Таблица виртуальных функций Фигуры
Определения shape.h:39
draw_func_t draw
Определения shape.h:40
move_func_t move
Определения shape.h:41
Абстрактная Фигура
Определения shape.h:49
point2_t * origin
Точка центра фигуры
Определения shape.h:51
vft_shape_t * vtable
Таблица виртуальный функций
Определения shape.h:50