render.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* MegaZeux
  2. *
  3. * Copyright (C) 2007 Kevin Vance <kvance@kvance.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program; if not, write to the Free Software
  17. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  18. */
  19. #ifndef __RENDER_NDS_H
  20. #define __RENDER_NDS_H
  21. #include "../../src/compat.h"
  22. __M_BEGIN_DECLS
  23. #include "../../src/graphics.h"
  24. // The subscreen can display different information.
  25. enum Subscreen_Mode
  26. {
  27. SUBSCREEN_SCALED = 0,
  28. SUBSCREEN_KEYBOARD,
  29. SUBSCREEN_MODE_COUNT,
  30. SUBSCREEN_MODE_INVALID
  31. };
  32. extern enum Subscreen_Mode subscreen_mode;
  33. boolean is_scaled_mode(enum Subscreen_Mode mode);
  34. // Call these 4 functions every vblank.
  35. void nds_sleep_check(void);
  36. void nds_video_jitter(void);
  37. void nds_video_rasterhack(void);
  38. void nds_video_do_transition(void);
  39. // Toggle to the next subscreen mode.
  40. void nds_subscreen_switch(void);
  41. // Turn on or off mouselook (the next focus call will be ignored).
  42. void nds_mouselook(boolean enable);
  43. // Display a warning screen (PCX format).
  44. void warning_screen(u8 *pcx_data);
  45. __M_END_DECLS
  46. #endif // __RENDER_NDS_H