Skip to content

Commit

Permalink
Port Renderer to C code
Browse files Browse the repository at this point in the history
  • Loading branch information
MightyJosip committed Feb 3, 2025
1 parent 8bc95e5 commit 9710ba9
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 34 deletions.
44 changes: 37 additions & 7 deletions src_c/renderer.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,21 @@

#include "doc/sdl2_video_doc.h"

#include "texture.c"
#include "renderer_image.c"

/* Declarations */
static PyTypeObject pgRenderer_Type;

static PyTypeObject pgTexture_Type;

static PyTypeObject pgImage_Type;

#define pgRenderer_Check(x) \
(PyObject_IsInstance((x), (PyObject *)&pgRenderer_Type))

#define pgTexture_Check(x) \
(PyObject_IsInstance((x), (PyObject *)&pgTexture_Type))

#define pgImage_Check(x) (PyObject_IsInstance((x), (PyObject *)&pgImage_Type))

#define RENDERER_ERROR_CHECK(x) \
if (x < 0) { \
return RAISE(pgExc_SDLError, SDL_GetError()); \
Expand All @@ -26,6 +32,13 @@ static PyTypeObject pgImage_Type;
return -1; \
}

static void
texture_renderer_draw(pgTextureObject *self, PyObject *area, PyObject *dest);

static void
image_renderer_draw(pgImageObject *self, PyObject *area, PyObject *dest);

/* Renderer implementation */
static PyObject *
from_window(PyTypeObject *cls, PyObject *args, PyObject *kwargs)
{
Expand Down Expand Up @@ -663,6 +676,21 @@ renderer_dealloc(pgRendererObject *self, PyObject *_null)
Py_TYPE(self)->tp_free(self);
}

/* Texture implementation */
static void
texture_renderer_draw(pgTextureObject *self, PyObject *area, PyObject *dest)
{
; // TODO MightyJosip Implement with Texture class
}

/* Image implementation */
static void
image_renderer_draw(pgImageObject *self, PyObject *area, PyObject *dest)
{
; // TODO MightyJosip Implement with Image class
}

/* Module definition */
static PyMethodDef renderer_methods[] = {
{"draw_point", (PyCFunction)renderer_draw_point,
METH_VARARGS | METH_KEYWORDS, DOC_SDL2_VIDEO_RENDERER_DRAWPOINT},
Expand Down Expand Up @@ -726,10 +754,12 @@ static PyGetSetDef image_getset[] = {{NULL, 0, NULL, NULL, NULL}};
static PyTypeObject pgRenderer_Type = {
PyVarObject_HEAD_INIT(NULL, 0).tp_name = "pygame._renderer.Renderer",
.tp_basicsize = sizeof(pgRendererObject),
//.tp_dealloc = (destructor)renderer_dealloc,
.tp_doc = DOC_SDL2_VIDEO_RENDERER, .tp_methods = renderer_methods,
//.tp_init = (initproc)renderer_init,
.tp_new = PyType_GenericNew, .tp_getset = renderer_getset};
.tp_dealloc = (destructor)renderer_dealloc,
.tp_doc = DOC_SDL2_VIDEO_RENDERER,
.tp_methods = renderer_methods,
.tp_init = (initproc)renderer_init,
.tp_new = PyType_GenericNew,
.tp_getset = renderer_getset};

static PyTypeObject pgTexture_Type = {
PyVarObject_HEAD_INIT(NULL, 0).tp_name = "pygame._renderer.Texture",
Expand Down
27 changes: 0 additions & 27 deletions src_c/renderer_image.c

This file was deleted.

0 comments on commit 9710ba9

Please sign in to comment.