本文整理汇总了C++中ALLEGRO_DEBUG函数的典型用法代码示例。如果您正苦于以下问题:C++ ALLEGRO_DEBUG函数的具体用法?C++ ALLEGRO_DEBUG怎么用?C++ ALLEGRO_DEBUG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ALLEGRO_DEBUG函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: restore_mode_if_last_fullscreen_display
static void restore_mode_if_last_fullscreen_display(ALLEGRO_SYSTEM_XGLX *s,
ALLEGRO_DISPLAY_XGLX *d)
{
bool last_fullscreen = true;
size_t i;
/* If any other fullscreen display is still active on the same adapter,
* we must not touch the video mode.
*/
for (i = 0; i < s->system.displays._size; i++) {
ALLEGRO_DISPLAY_XGLX **slot = _al_vector_ref(&s->system.displays, i);
ALLEGRO_DISPLAY_XGLX *living = *slot;
if (living == d)
continue;
/* Check for fullscreen displays on the same adapter. */
if (living->adapter == d->adapter
&& (living->display.flags & ALLEGRO_FULLSCREEN)) {
last_fullscreen = false;
}
}
if (last_fullscreen) {
ALLEGRO_DEBUG("restore mode.\n");
_al_xglx_restore_video_mode(s, d->adapter);
}
else {
ALLEGRO_DEBUG("*not* restoring mode.\n");
}
}
示例2: ogl_unlock_region_nonbb_nonfbo
static void ogl_unlock_region_nonbb_nonfbo(ALLEGRO_BITMAP *bitmap,
ALLEGRO_BITMAP_EXTRA_OPENGL *ogl_bitmap, int gl_y)
{
const int lock_format = bitmap->locked_region.format;
unsigned char *start_ptr;
GLenum e;
if (bitmap->lock_flags & ALLEGRO_LOCK_WRITEONLY) {
ALLEGRO_DEBUG("Unlocking non-backbuffer non-FBO WRITEONLY\n");
start_ptr = ogl_bitmap->lock_buffer;
}
else {
ALLEGRO_DEBUG("Unlocking non-backbuffer non-FBO READWRITE\n");
glPixelStorei(GL_UNPACK_ROW_LENGTH, ogl_bitmap->true_w);
start_ptr = (unsigned char *)bitmap->lock_data
+ (bitmap->lock_h - 1) * bitmap->locked_region.pitch;
}
glTexSubImage2D(GL_TEXTURE_2D, 0,
bitmap->lock_x, gl_y,
bitmap->lock_w, bitmap->lock_h,
get_glformat(lock_format, 2),
get_glformat(lock_format, 1),
start_ptr);
e = glGetError();
if (e) {
ALLEGRO_ERROR("glTexSubImage2D for format %s failed (%s).\n",
_al_pixel_format_name(lock_format), _al_gl_error_string(e));
}
}
示例3: xfvm_store_video_mode
static void xfvm_store_video_mode(ALLEGRO_SYSTEM_XGLX *s)
{
int n;
ALLEGRO_DEBUG("xfullscreen: xfvm_store_video_mode\n");
#ifdef ALLEGRO_XWINDOWS_WITH_XINERAMA
/* TwinView workarounds, nothing to do here, since we can't really change or restore modes */
if (s->xinerama_available && s->xinerama_screen_count != s->xfvm_screen_count) {
return;
}
#endif
// save all original modes
int i;
for (i = 0; i < s->xfvm_screen_count; i++) {
n = xfvm_get_num_modes(s, i);
if (n == 0) {
/* XXX what to do here? */
continue;
}
s->xfvm_screen[i].original_mode = s->xfvm_screen[i].modes[0];
int j;
for (j = 0; j < s->xfvm_screen[i].mode_count; j++) {
ALLEGRO_DEBUG("xfvm: screen[%d] mode[%d] = (%d, %d)\n",
i, j, s->xfvm_screen[i].modes[j]->hdisplay, s->xfvm_screen[i].modes[j]->vdisplay);
}
ALLEGRO_INFO("xfvm: screen[%d] original mode = (%d, %d)\n",
i, s->xfvm_screen[i].original_mode->hdisplay, s->xfvm_screen[i].original_mode->vdisplay);
}
}
示例4: _dsound_close
/* The close method should close the device, freeing any resources, and allow
other processes to use the device */
static void _dsound_close()
{
ALLEGRO_DEBUG("Releasing device\n");
device->Release();
ALLEGRO_DEBUG("Released device\n");
ALLEGRO_INFO("DirectSound closed\n");
}
示例5: ALLEGRO_DEBUG
static void *android_app_trampoline(ALLEGRO_THREAD *thr, void *arg)
{
const int argc = 1;
const char *argv[2] = {system_data.user_lib, NULL};
int ret;
(void)thr;
(void)arg;
ALLEGRO_DEBUG("signaling running");
al_lock_mutex(system_data.mutex);
system_data.trampoline_running = true;
al_broadcast_cond(system_data.cond);
al_unlock_mutex(system_data.mutex);
ALLEGRO_DEBUG("entering main function %p", system_data.user_main);
ret = (system_data.user_main)(argc, (char **)argv);
/* Can we do anything with this exit code? */
ALLEGRO_DEBUG("returned from main function, exit code = %d", ret);
/* NOTE: don't put any ALLEGRO_DEBUG in here after running main! */
android_cleanup(true);
return NULL;
}
示例6: xfvm_exit
static void xfvm_exit(ALLEGRO_SYSTEM_XGLX *s)
{
int adapter;
ALLEGRO_DEBUG("xfullscreen: XFVM exit\n");
for (adapter = 0; adapter < s->xfvm_screen_count; adapter++) {
if (s->xfvm_screen[adapter].mode_count > 0) {
int i;
for (i = 0; i < s->xfvm_screen[adapter].mode_count; i++) {
if (s->xfvm_screen[adapter].modes[i]->privsize > 0) {
//XFree(s->xfvm_screen[adapter].modes[i]->private);
}
}
//XFree(s->xfvm_screen[adapter].modes);
}
s->xfvm_screen[adapter].mode_count = 0;
s->xfvm_screen[adapter].modes = NULL;
s->xfvm_screen[adapter].original_mode = NULL;
ALLEGRO_DEBUG("xfullscreen: XFVM freed adapter %d.\n", adapter);
}
al_free(s->xfvm_screen);
s->xfvm_screen = NULL;
}
示例7: _al_ogl_create_backbuffer
ALLEGRO_BITMAP_OGL* _al_ogl_create_backbuffer(ALLEGRO_DISPLAY *disp)
{
ALLEGRO_BITMAP_OGL *ogl_backbuffer;
ALLEGRO_BITMAP *backbuffer;
ALLEGRO_STATE backup;
int format;
ALLEGRO_DEBUG("Creating backbuffer\n");
al_store_state(&backup, ALLEGRO_STATE_NEW_BITMAP_PARAMETERS);
// FIXME: _al_deduce_color_format would work fine if the display paramerers
// are filled in, for WIZ and IPOD
#ifdef ALLEGRO_GP2XWIZ
format = ALLEGRO_PIXEL_FORMAT_RGB_565; /* Only support display format */
#elif defined ALLEGRO_IPHONE
format = ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE;
// TODO: This one is also supported
//format = ALLEGRO_PIXEL_FORMAT_RGB_565;
#else
format = _al_deduce_color_format(&disp->extra_settings);
/* Eww. No OpenGL hardware in the world does that - let's just
* switch to some default.
*/
if (al_get_pixel_size(format) == 3) {
/* Or should we use RGBA? Maybe only if not Nvidia cards? */
format = ALLEGRO_PIXEL_FORMAT_ABGR_8888;
}
#endif
ALLEGRO_TRACE_CHANNEL_LEVEL("display", 1)("Deduced format %s for backbuffer.\n",
_al_pixel_format_name(format));
/* Now that the display backbuffer has a format, update extra_settings so
* the user can query it back.
*/
_al_set_color_components(format, &disp->extra_settings, ALLEGRO_REQUIRE);
disp->backbuffer_format = format;
ALLEGRO_DEBUG("Creating backbuffer bitmap\n");
al_set_new_bitmap_format(format);
/* Using ALLEGRO_NO_PRESERVE_TEXTURE prevents extra memory being allocated */
al_set_new_bitmap_flags(ALLEGRO_VIDEO_BITMAP | ALLEGRO_NO_PRESERVE_TEXTURE);
backbuffer = _al_ogl_create_bitmap(disp, disp->w, disp->h);
al_restore_state(&backup);
if (!backbuffer) {
ALLEGRO_DEBUG("Backbuffer bitmap creation failed.\n");
return NULL;
}
ALLEGRO_TRACE_CHANNEL_LEVEL("display", 1)(
"Created backbuffer bitmap (actual format: %s)\n",
_al_pixel_format_name(backbuffer->format));
ogl_backbuffer = (ALLEGRO_BITMAP_OGL*)backbuffer;
ogl_backbuffer->is_backbuffer = 1;
backbuffer->display = disp;
return ogl_backbuffer;
}
示例8: al_set_voice_playing
/* Function: al_set_voice_playing
*/
bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)
{
ASSERT(voice);
if (!voice->attached_stream) {
ALLEGRO_DEBUG("Voice has no attachment\n");
return false;
}
if (voice->is_streaming) {
ALLEGRO_WARN("Attempted to change the playing state of a voice "
"with a streaming attachment (mixer or audiostreams)\n");
return false;
}
else {
bool playing = al_get_voice_playing(voice);
if (playing == val) {
if (playing) {
ALLEGRO_DEBUG("Voice is already playing\n");
}
else {
ALLEGRO_DEBUG("Voice is already stopped\n");
}
return true;
}
return _al_kcm_set_voice_playing(voice, voice->mutex, val);
}
}
示例9: ogl_lock_region_nonbb_readwrite
static bool ogl_lock_region_nonbb_readwrite(
ALLEGRO_BITMAP *bitmap, ALLEGRO_BITMAP_EXTRA_OPENGL *ogl_bitmap,
int x, int gl_y, int w, int h, int format, bool* restore_fbo)
{
bool ok;
ASSERT(bitmap->parent == NULL);
ASSERT(bitmap->locked == false);
ASSERT(_al_get_bitmap_display(bitmap) == al_get_current_display());
/* Try to create an FBO if there isn't one. */
*restore_fbo =
_al_ogl_setup_fbo_non_backbuffer(_al_get_bitmap_display(bitmap), bitmap);
if (ogl_bitmap->fbo_info) {
ALLEGRO_DEBUG("Locking non-backbuffer READWRITE with fbo\n");
ok = ogl_lock_region_nonbb_readwrite_fbo(bitmap, ogl_bitmap,
x, gl_y, w, h, format);
}
else {
ALLEGRO_DEBUG("Locking non-backbuffer READWRITE no fbo\n");
ok = ogl_lock_region_nonbb_readwrite_nonfbo(bitmap, ogl_bitmap,
x, gl_y, w, h, format);
}
return ok;
}
示例10: convert_compressed
static bool convert_compressed(LPDIRECT3DTEXTURE9 dest, LPDIRECT3DTEXTURE9 src,
int x, int y, int width, int height) {
#ifdef ALLEGRO_CFG_D3DX9
bool ok = true;
LPDIRECT3DSURFACE9 dest_texture_surface = NULL;
LPDIRECT3DSURFACE9 src_texture_surface = NULL;
if (dest->GetSurfaceLevel(0, &dest_texture_surface) != D3D_OK) {
ALLEGRO_ERROR("convert_compressed: GetSurfaceLevel failed on dest.\n");
ok = false;
}
if (ok && src->GetSurfaceLevel(0, &src_texture_surface) != D3D_OK) {
ALLEGRO_ERROR("convert_compressed: GetSurfaceLevel failed on src.\n");
ok = false;
}
RECT rect;
rect.left = x;
rect.top = y;
rect.right = x + width;
rect.bottom = y + height;
if (ok && _al_imp_D3DXLoadSurfaceFromSurface &&
_al_imp_D3DXLoadSurfaceFromSurface(dest_texture_surface,
NULL,
&rect,
src_texture_surface,
NULL,
&rect,
D3DX_FILTER_NONE,
0) != D3D_OK) {
ALLEGRO_ERROR("convert_compressed: D3DXLoadSurfaceFromSurface failed.\n");
ok = false;
}
int i;
if (src_texture_surface) {
if ((i = src_texture_surface->Release()) != 0) {
ALLEGRO_DEBUG("convert_compressed (src) ref count == %d\n", i);
}
}
if (dest_texture_surface) {
if ((i = dest_texture_surface->Release()) != 0) {
// This can be non-zero
ALLEGRO_DEBUG("convert_compressed (dest) ref count == %d\n", i);
}
}
return ok;
#else
(void)dest;
(void)src;
(void)x;
(void)y;
(void)width;
(void)height;
return false;
#endif
}
示例11: _dsound_close
/* The close method should close the device, freeing any resources, and allow
other processes to use the device */
static void _dsound_close()
{
ALLEGRO_DEBUG("Releasing device\n");
device->Release();
ALLEGRO_DEBUG("Released device\n");
_al_close_library(_al_dsound_module);
ALLEGRO_INFO("DirectSound closed\n");
}
示例12: _dsound_deallocate_voice
/* The deallocate_voice method should free the resources for the given voice,
but still retain a hold on the device. The voice should be stopped and
unloaded by the time this is called */
static void _dsound_deallocate_voice(ALLEGRO_VOICE *voice)
{
ALLEGRO_DEBUG("Deallocating voice\n");
al_free(voice->extra);
voice->extra = NULL;
ALLEGRO_DEBUG("Deallocated voice\n");
}
示例13: _dsound_unload_voice
/* The unload_voice method unloads a sample previously loaded with load_voice.
This method should not be called on a streaming voice. */
static void _dsound_unload_voice(ALLEGRO_VOICE *voice)
{
ALLEGRO_DS_DATA *ex_data = (ALLEGRO_DS_DATA *)voice->extra;
ALLEGRO_DEBUG("Unloading voice\n");
ex_data->ds8_buffer->Release();
ALLEGRO_DEBUG("Unloaded voice\n");
}
示例14: joydx_exit_joystick
/* joydx_exit_joystick: [primary thread]
* Shuts down the DirectInput joystick devices.
*/
static void joydx_exit_joystick(void)
{
int i;
ALLEGRO_SYSTEM *system;
size_t j;
ALLEGRO_DEBUG("Entering joydx_exit_joystick\n");
ASSERT(joydx_thread);
/* stop the thread */
SetEvent(STOP_EVENT);
WaitForSingleObject(joydx_thread, INFINITE);
CloseHandle(joydx_thread);
joydx_thread = NULL;
/* free thread resources */
CloseHandle(STOP_EVENT);
STOP_EVENT = NULL;
DeleteCriticalSection(&joydx_thread_cs);
/* The toplevel display is assumed to have the input acquired. Release it. */
system = al_get_system_driver();
for (j = 0; j < _al_vector_size(&system->displays); j++) {
ALLEGRO_DISPLAY_WIN **pwin_disp = _al_vector_ref(&system->displays, j);
ALLEGRO_DISPLAY_WIN *win_disp = *pwin_disp;
if (win_disp->window == GetForegroundWindow()) {
ALLEGRO_DEBUG("Requesting window unacquire joystick devices\n");
_al_win_wnd_call_proc(win_disp->window,
_al_win_joystick_dinput_unacquire,
win_disp);
}
}
/* destroy the devices */
for (i = 0; i < MAX_JOYSTICKS; i++) {
joydx_inactivate_joy(&joydx_joystick[i]);
}
joydx_num_joysticks = 0;
for (i = 0; i < MAX_JOYSTICKS; i++) {
JOYSTICK_WAKER(i) = NULL;
}
/* destroy the DirectInput interface */
IDirectInput8_Release(joystick_dinput);
joystick_dinput = NULL;
/* release module handle */
FreeLibrary(_al_dinput_module);
_al_dinput_module = NULL;
ALLEGRO_DEBUG("Leaving joydx_exit_joystick\n");
}
示例15: _al_d3d_sync_bitmap
/* Copies video texture to system texture and bitmap->memory */
static void _al_d3d_sync_bitmap(ALLEGRO_BITMAP *dest)
{
ALLEGRO_BITMAP_D3D *d3d_dest;
LPDIRECT3DSURFACE9 system_texture_surface;
LPDIRECT3DSURFACE9 video_texture_surface;
UINT i;
if (!_al_d3d_render_to_texture_supported())
return;
if (dest->locked) {
return;
}
d3d_dest = (ALLEGRO_BITMAP_D3D *)dest;
if (d3d_dest->system_texture == NULL || d3d_dest->video_texture == NULL) {
return;
}
if (dest->parent) {
dest = dest->parent;
}
if (d3d_dest->system_texture->GetSurfaceLevel(
0, &system_texture_surface) != D3D_OK) {
ALLEGRO_ERROR("_al_d3d_sync_bitmap: GetSurfaceLevel failed while updating video texture.\n");
return;
}
if (d3d_dest->video_texture->GetSurfaceLevel(
0, &video_texture_surface) != D3D_OK) {
ALLEGRO_ERROR("_al_d3d_sync_bitmap: GetSurfaceLevel failed while updating video texture.\n");
return;
}
if (d3d_dest->display->device->GetRenderTargetData(
video_texture_surface,
system_texture_surface) != D3D_OK) {
ALLEGRO_ERROR("_al_d3d_sync_bitmap: GetRenderTargetData failed.\n");
return;
}
if ((i = system_texture_surface->Release()) != 0) {
ALLEGRO_DEBUG("_al_d3d_sync_bitmap (system) ref count == %d\n", i);
}
if ((i = video_texture_surface->Release()) != 0) {
// This can be non-zero
ALLEGRO_DEBUG("_al_d3d_sync_bitmap (video) ref count == %d\n", i);
}
d3d_sync_bitmap_memory(dest);
}