History

Starting on coloring support.

Andrzej Kapolka committed 13 years ago

Commit 78b37fe1 parent ecd12e01 file · +12 −11Browse files

Showing the changes to interface/src/main.cpp (1 of 1 file). Show all

Unified · Split

interface/src/main.cpp+12−11
@@ -175,7 +175,7 @@ int mouseY = 0; · 174 unmodified lines
175175 int mousePressed = 0; // true if mouse has been pressed (clear when finished)
176176
177177 // The current mode for mouse interaction
178−enum MouseMode { ADD_VOXEL_MODE, DELETE_VOXEL_MODE };
178+enum MouseMode { ADD_VOXEL_MODE, DELETE_VOXEL_MODE, COLOR_VOXEL_MODE };
179179 MouseMode mouseMode = ADD_VOXEL_MODE;
180180 VoxelDetail mouseVoxel; // details of the voxel under the mouse cursor
181181
@@ -1653,7 +1653,8 @@ void key(unsigned char k, int x, int y) { · 1471 unmodified lines
16531653 if (k == '%') ::sendVoxelServerAddScene(); // sends add scene command to voxel server
16541654 if (k == '1') ::mouseMode = ADD_VOXEL_MODE;
16551655 if (k == '2') ::mouseMode = DELETE_VOXEL_MODE;
1656− if (k == '3') addVoxelInFrontOfAvatar();
1656+ if (k == '3') ::mouseMode = COLOR_VOXEL_MODE;
1657+ if (k == '4') addVoxelInFrontOfAvatar();
16571658 if (k == 'n' || k == 'N')
16581659 {
16591660 noiseOn = !noiseOn; // Toggle noise
@@ -1796,7 +1797,12 @@ void idle(void) { · 136 unmodified lines
17961797 ::mouseVoxel.y += offset.y * ::mouseVoxel.s;
17971798 ::mouseVoxel.z += offset.z * ::mouseVoxel.s;
17981799
1799− } else {
1800+ } else if (::mouseMode == COLOR_VOXEL_MODE) {
1801+ ::mouseVoxel.red = 0;
1802+ ::mouseVoxel.green = 255;
1803+ ::mouseVoxel.blue = 0;
1804+
1805+ } else { // ::mouseMode == DELETE_VOXEL_MODE
18001806 // red indicates deletion
18011807 ::mouseVoxel.red = 255;
18021808 ::mouseVoxel.green = ::mouseVoxel.blue = 0;
@@ -1928,9 +1934,9 @@ void mouseFunc(int button, int state, int x, int y) { · 125 unmodified lines
19281934 case GLUT_LEFT_BUTTON:
19291935 if (state == GLUT_DOWN && !menu.mouseClick(x, y)) {
19301936 mousePressed = 1;
1931− if (::mouseMode == ADD_VOXEL_MODE) {
1937+ if (::mouseMode == ADD_VOXEL_MODE || ::mouseMode == COLOR_VOXEL_MODE) {
19321938 addVoxelUnderCursor();
1933−
1939+
19341940 } else { // ::mouseMode == DELETE_VOXEL_MODE
19351941 deleteVoxelUnderCursor();
19361942 }
@@ -1941,12 +1947,7 @@ void mouseFunc(int button, int state, int x, int y) { · 4 unmodified lines
19411947
19421948 case GLUT_RIGHT_BUTTON:
19431949 if (state == GLUT_DOWN) {
1944− if (::mouseMode == ADD_VOXEL_MODE) {
1945− deleteVoxelUnderCursor();
1946−
1947− } else { // ::mouseMode == DELETE_VOXEL_MODE
1948− addVoxelUnderCursor();
1949− }
1950+ deleteVoxelUnderCursor();
19501951 }
19511952 break;
19521953 }