GUI: new pattern cursor logic, part 1 - READ
this new pattern cursor logic will finally allow you to click on any cell of the previous/next pattern and take you there on top of that you'll be able to make selections that go beyond the boundaries of a pattern operations are not supported yet, so don't try it out! it won't work properly until I adapt the code.
This commit is contained in:
parent
eac8c03158
commit
b9604c5729
5 changed files with 97 additions and 46 deletions
|
|
@ -1006,11 +1006,11 @@ enum NoteCtrl {
|
|||
|
||||
struct SelectionPoint {
|
||||
int xCoarse, xFine;
|
||||
int y;
|
||||
SelectionPoint(int xc, int xf, int yp):
|
||||
xCoarse(xc), xFine(xf), y(yp) {}
|
||||
int y, order;
|
||||
SelectionPoint(int xc, int xf, int yp, int o):
|
||||
xCoarse(xc), xFine(xf), y(yp), order(o) {}
|
||||
SelectionPoint():
|
||||
xCoarse(0), xFine(0), y(0) {}
|
||||
xCoarse(0), xFine(0), y(0), order(0) {}
|
||||
};
|
||||
|
||||
struct UndoRegion {
|
||||
|
|
@ -2343,7 +2343,7 @@ class FurnaceGUI {
|
|||
|
||||
int curIns, curWave, curSample, curOctave, curOrder, playOrder, prevIns, oldRow, editStep, editStepCoarse, soloChan, orderEditMode, orderCursor;
|
||||
int loopOrder, loopRow, loopEnd, isClipping, newSongCategory, latchTarget;
|
||||
int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragDestinationX, dragDestinationXFine, dragDestinationY, oldBeat, oldBar;
|
||||
int wheelX, wheelY, dragSourceX, dragSourceXFine, dragSourceY, dragSourceOrder, dragDestinationX, dragDestinationXFine, dragDestinationY, dragDestinationOrder, oldBeat, oldBar;
|
||||
int curGroove, exitDisabledTimer;
|
||||
int curPaletteChoice, curPaletteType;
|
||||
float soloTimeout;
|
||||
|
|
@ -2983,8 +2983,8 @@ class FurnaceGUI {
|
|||
void processDrags(int dragX, int dragY);
|
||||
void processPoint(SDL_Event& ev);
|
||||
|
||||
void startSelection(int xCoarse, int xFine, int y, bool fullRow=false);
|
||||
void updateSelection(int xCoarse, int xFine, int y, bool fullRow=false);
|
||||
void startSelection(int xCoarse, int xFine, int y, int ord, bool fullRow=false);
|
||||
void updateSelection(int xCoarse, int xFine, int y, int ord, bool fullRow=false);
|
||||
void finishSelection();
|
||||
void finishDrag();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue