usbloadergx/source/libwiigui/gui_gamecarousel.h
DRayX7 aaa2a3f25f **Changes
*Modified EFFECT_GOROUND so that it takes a center of rotation, angles work properly, and things don't move back.
*Updated the gui_gamecarousel files so that they are functional, shouldn't have any more code dumps, and use the EFFECT_GOROUND.
*The carousel button doesn't do anything anymore (since GOROUND was changed so much)

**Notes
*The easiest way test the carousel is to change guiGameGrid to guiGameCarousel in source/menu.cpp.
*If you compile with no modifications, the only noticeable difference is that the carousel button does nothing.

**Known Bugs in gui_gamecarousel
*The images dont line up horizontally (when shifting left they go too far left, and the same for shifting right). I think there is a rounding bug somewhere in GOROUND (I already fixed several).
*Cant hold down left and right to scroll yet
*Launching a game only works if the pointer is over two boxes
*If an image is growing when the carousel is turned, that button disapears
*If an image is grown when the carousel is turned, it wont shrink back
2009-05-28 01:46:05 +00:00

62 lines
1.3 KiB
C++

#ifndef _GUIGAMECAROUSEL_H_
#define _GUIGAMECAROUSEL_H_
#include "gui.h"
#include "../disc.h"
class GuiGameCarousel : public GuiElement
{
public:
GuiGameCarousel(int w, int h, struct discHdr * l, int gameCnt, const char *themePath, const u8 *imagebg, int selected = 0, int offset = 0);
~GuiGameCarousel();
int FindMenuItem(int c, int d);
int GetClickedOption();
int GetSelectedOption();
void ResetState();
void SetFocus(int f);
void Draw();
void Update(GuiTrigger * t);
int GetOffset();
void Reload(struct discHdr * l, int count);
//GuiText * optionVal[PAGESIZE];
protected:
int selectedItem;
int listOffset;
int scrollbaron;
int pagesize;
int changed;
int firstPic;
int speed;
struct discHdr * gameList;
int gameCnt;
int * gameIndex;
int * bob;
GuiButton ** game;
GuiText ** gameTxt;
GuiImage ** coverImg;
GuiImageData ** cover;
GuiButton * btnRight;
GuiButton * btnLeft;
GuiImage * btnLeftImg;
GuiImage * btnRightImg;
GuiImageData * imgLeft;
GuiImageData * imgRight;
GuiSound * btnSoundOver;
GuiSound * btnSoundClick;
GuiTrigger * trigA;
GuiTrigger * trigL;
GuiTrigger * trigR;
GuiTrigger * trigPlus;
GuiTrigger * trigMinus;
GuiTrigger * trigHeldA;
};
#endif