diff options
Diffstat (limited to 'src/font.c')
-rw-r--r-- | src/font.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/font.c b/src/font.c deleted file mode 100644 index a333a30..0000000 --- a/src/font.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2022 Frederico de Oliveira Linhares - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "font.h" -#include <stdio.h> - -void -cg_free_font(mrb_state *mrb, void* obj) -{ - struct cg_font *ptr = obj; - - TTF_CloseFont(ptr->data); - mrb_free(mrb, ptr); -} - -const struct mrb_data_type cg_font_type = {"CG_Font", cg_free_font }; - -static mrb_value -cg_cFont_initialize(mrb_state *mrb, mrb_value self) -{ - mrb_int font_size; - char *file_path; - struct cg_font *ptr; - - mrb_get_args(mrb, "zi", &file_path, &font_size); - ptr = (struct cg_font *)DATA_PTR(self); - if(ptr) mrb_free(mrb, ptr); - ptr = (struct cg_font *)mrb_malloc(mrb, sizeof(struct cg_font)); - - ptr->data = TTF_OpenFont(file_path, font_size); - if(!ptr->data) mrb_raise(mrb, E_ARGUMENT_ERROR, TTF_GetError()); - - mrb_data_init(self, ptr, &cg_font_type); - return self; -} - -void -cg_font_init(mrb_state *mrb) -{ - struct RClass *cg_m, *cg_cFont; - - cg_m = mrb_module_get(mrb, "CandyGear"); - cg_cFont = mrb_define_class_under(mrb, cg_m, "Font", mrb->object_class); - MRB_SET_INSTANCE_TT(cg_cFont, MRB_TT_DATA); - mrb_define_method( - mrb, cg_cFont, "initialize", cg_cFont_initialize, MRB_ARGS_REQ(2)); -} |