3 * libneuro, a light weight abstraction of high or lower libraries
4 * and toolkit for applications.
5 * Copyright (C) 2005-2006 Nicholas Niro, Robert Lemay
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 * the source file permitting to compile this library without any lower
24 * extern library(this is used for debugging).
30 /* video constructor destructor */
32 Lib_VideoInit(v_object
**screen
, v_object
**screen_buf
)
38 Lib_BlitObject(v_object
*source
, Rectan
*src
, v_object
*destination
, Rectan
*dst
)
44 Lib_LoadBMP(const char *path
, v_object
**img
)
50 Lib_LoadBMPBuffer(void *data
, v_object
**img
)
56 Lib_MapRGB(v_object
*vobj
, u8 r
, u8 g
, u8 b
)
62 Lib_SetColorKey(v_object
*vobj
, u32 key
)
68 Lib_SetAlpha(v_object
*vobj
, u8 alpha
)
74 Lib_CreateVObject(u32 flags
, i32 width
, i32 height
, i32 depth
, u32 Rmask
, u32 Gmask
,
81 Lib_SetScreenSize(u32 width
, u32 height
)
87 Lib_GetScreenSize(u32
*width
, u32
*height
)
93 Lib_UpdateRect(v_object
*source
, Rectan
*src
)
105 Lib_SyncPixels(v_object
*src
)
111 Lib_FillRect(v_object
*source
, Rectan
*src
, u32 color
)
117 Lib_Flip(v_object
*source
)
123 Lib_FreeVobject(v_object
*source
)
129 Lib_LockVObject(v_object
*vobj
)
135 Lib_UnlockVObject(v_object
*vobj
)
141 Lib_GiveVobjectProp(v_object
*source
, Rectan
*output
)
147 Lib_GetVObjectData(v_object
*vobj
, u32
*flags
, i32
*h
, i32
*w
, u32
*pitch
,
148 void **pixels
, Rectan
**clip_rect
, u8
*bpp
,
149 u32
*Rmask
, u32
*Gmask
, u32
*Bmask
,u32
*Amask
)
155 Lib_RenderUnicode(font_object
*ttf
, u32 size
, u32 character
, i16
*x
, i16
*y
, u32 color
, Rectan
*src
, Rectan
*dst
)
161 Lib_LoadFontFile(const char *fonts_file_path
)
167 Lib_CleanFont(font_object
*font
)
190 /*----------------- Input Events -----------------*/
193 Lib_GetKeyState(i32
*numkeys
)
199 Lib_GetMouseState(i32
*x
, i32
*y
)
211 Lib_PollEvent(void *event
)