Added more screen zoom modes
This commit is contained in:
6
build.sh
6
build.sh
@@ -33,6 +33,6 @@ cd project && env PATH=$NDKBUILDPATH nice -n19 ndk-build V=1 -j4 && \
|
|||||||
cp jni/application/src/libapplication.so libs/armeabi && \
|
cp jni/application/src/libapplication.so libs/armeabi && \
|
||||||
`which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \
|
`which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \
|
||||||
|| true ; } && \
|
|| true ; } && \
|
||||||
ant debug # && \
|
ant debug && \
|
||||||
# test -z "$1" && cd bin && adb uninstall `grep AppFullName ../../AndroidAppSettings.cfg | sed 's/.*=//'` && \
|
test -z "$1" && cd bin && adb uninstall `grep AppFullName ../../AndroidAppSettings.cfg | sed 's/.*=//'` && \
|
||||||
# adb install -r DemoActivity-debug.apk
|
adb install -r MainActivity-debug.apk
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class Globals {
|
|||||||
public static boolean RelativeMouseMovement = ForceRelativeMouseMode; // Laptop touchpad mode
|
public static boolean RelativeMouseMovement = ForceRelativeMouseMode; // Laptop touchpad mode
|
||||||
public static int RelativeMouseMovementSpeed = 2;
|
public static int RelativeMouseMovementSpeed = 2;
|
||||||
public static int RelativeMouseMovementAccel = 0;
|
public static int RelativeMouseMovementAccel = 0;
|
||||||
public static boolean ShowScreenUnderFinger = false;
|
public static int ShowScreenUnderFinger = Mouse.ZOOM_NONE;
|
||||||
public static boolean KeepAspectRatio = false;
|
public static boolean KeepAspectRatio = false;
|
||||||
public static int ClickScreenPressure = 0;
|
public static int ClickScreenPressure = 0;
|
||||||
public static int ClickScreenTouchspotSize = 0;
|
public static int ClickScreenTouchspotSize = 0;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class Settings
|
|||||||
out.writeInt(Globals.AudioBufferConfig);
|
out.writeInt(Globals.AudioBufferConfig);
|
||||||
out.writeInt(Globals.TouchscreenKeyboardTheme);
|
out.writeInt(Globals.TouchscreenKeyboardTheme);
|
||||||
out.writeInt(Globals.RightClickMethod);
|
out.writeInt(Globals.RightClickMethod);
|
||||||
out.writeBoolean(Globals.ShowScreenUnderFinger);
|
out.writeInt(Globals.ShowScreenUnderFinger);
|
||||||
out.writeInt(Globals.LeftClickMethod);
|
out.writeInt(Globals.LeftClickMethod);
|
||||||
out.writeBoolean(Globals.MoveMouseWithJoystick);
|
out.writeBoolean(Globals.MoveMouseWithJoystick);
|
||||||
out.writeBoolean(Globals.ClickMouseWithDpad);
|
out.writeBoolean(Globals.ClickMouseWithDpad);
|
||||||
@@ -214,7 +214,7 @@ class Settings
|
|||||||
Globals.AudioBufferConfig = settingsFile.readInt();
|
Globals.AudioBufferConfig = settingsFile.readInt();
|
||||||
Globals.TouchscreenKeyboardTheme = settingsFile.readInt();
|
Globals.TouchscreenKeyboardTheme = settingsFile.readInt();
|
||||||
Globals.RightClickMethod = settingsFile.readInt();
|
Globals.RightClickMethod = settingsFile.readInt();
|
||||||
Globals.ShowScreenUnderFinger = settingsFile.readBoolean();
|
Globals.ShowScreenUnderFinger = settingsFile.readInt();
|
||||||
Globals.LeftClickMethod = settingsFile.readInt();
|
Globals.LeftClickMethod = settingsFile.readInt();
|
||||||
Globals.MoveMouseWithJoystick = settingsFile.readBoolean();
|
Globals.MoveMouseWithJoystick = settingsFile.readBoolean();
|
||||||
Globals.ClickMouseWithDpad = settingsFile.readBoolean();
|
Globals.ClickMouseWithDpad = settingsFile.readBoolean();
|
||||||
@@ -1186,13 +1186,32 @@ class Settings
|
|||||||
void run (final MainActivity p)
|
void run (final MainActivity p)
|
||||||
{
|
{
|
||||||
CharSequence[] items = { p.getResources().getString(R.string.display_size_large),
|
CharSequence[] items = { p.getResources().getString(R.string.display_size_large),
|
||||||
p.getResources().getString(R.string.display_size_small) };
|
p.getResources().getString(R.string.display_size_small),
|
||||||
|
p.getResources().getString(R.string.display_size_small_touchpad),
|
||||||
|
p.getResources().getString(R.string.display_size_tiny),
|
||||||
|
p.getResources().getString(R.string.display_size_tiny_touchpad), };
|
||||||
|
if( ! Globals.SwVideoMode )
|
||||||
|
{
|
||||||
|
CharSequence[] items2 = { p.getResources().getString(R.string.display_size_large),
|
||||||
|
p.getResources().getString(R.string.display_size_small_touchpad), };
|
||||||
|
items = items2;
|
||||||
|
}
|
||||||
if( firstStart )
|
if( firstStart )
|
||||||
{
|
{
|
||||||
CharSequence[] items2 = { p.getResources().getString(R.string.display_size_large),
|
CharSequence[] items2 = { p.getResources().getString(R.string.display_size_large),
|
||||||
p.getResources().getString(R.string.display_size_small),
|
p.getResources().getString(R.string.display_size_small),
|
||||||
p.getResources().getString(R.string.show_more_options) };
|
p.getResources().getString(R.string.display_size_small_touchpad),
|
||||||
|
p.getResources().getString(R.string.display_size_tiny),
|
||||||
|
p.getResources().getString(R.string.display_size_tiny_touchpad),
|
||||||
|
p.getResources().getString(R.string.show_more_options), };
|
||||||
items = items2;
|
items = items2;
|
||||||
|
if( ! Globals.SwVideoMode )
|
||||||
|
{
|
||||||
|
CharSequence[] items3 = { p.getResources().getString(R.string.display_size_large),
|
||||||
|
p.getResources().getString(R.string.display_size_small_touchpad),
|
||||||
|
p.getResources().getString(R.string.show_more_options), };
|
||||||
|
items = items3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(p);
|
AlertDialog.Builder builder = new AlertDialog.Builder(p);
|
||||||
@@ -1206,7 +1225,7 @@ class Settings
|
|||||||
{
|
{
|
||||||
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
||||||
Globals.RelativeMouseMovement = false;
|
Globals.RelativeMouseMovement = false;
|
||||||
Globals.ShowScreenUnderFinger = false;
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_NONE;
|
||||||
}
|
}
|
||||||
if( item == 1 )
|
if( item == 1 )
|
||||||
{
|
{
|
||||||
@@ -1214,17 +1233,35 @@ class Settings
|
|||||||
{
|
{
|
||||||
Globals.LeftClickMethod = Mouse.LEFT_CLICK_NEAR_CURSOR;
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_NEAR_CURSOR;
|
||||||
Globals.RelativeMouseMovement = false;
|
Globals.RelativeMouseMovement = false;
|
||||||
Globals.ShowScreenUnderFinger = true;
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_MAGNIFIER;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// OpenGL does not support magnifying glass
|
// OpenGL does not support magnifying glass
|
||||||
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
||||||
Globals.RelativeMouseMovement = true;
|
Globals.RelativeMouseMovement = true;
|
||||||
Globals.ShowScreenUnderFinger = false;
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( item == 2 )
|
if( item == 2 && Globals.SwVideoMode )
|
||||||
|
{
|
||||||
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
||||||
|
Globals.RelativeMouseMovement = true;
|
||||||
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_NONE;
|
||||||
|
}
|
||||||
|
if( item == 3 )
|
||||||
|
{
|
||||||
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_NEAR_CURSOR;
|
||||||
|
Globals.RelativeMouseMovement = false;
|
||||||
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_WHOLE_SCREEN;
|
||||||
|
}
|
||||||
|
if( item == 4 )
|
||||||
|
{
|
||||||
|
Globals.LeftClickMethod = Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT;
|
||||||
|
Globals.RelativeMouseMovement = true;
|
||||||
|
Globals.ShowScreenUnderFinger = Mouse.ZOOM_FULLSCREEN_MAGNIFIER;
|
||||||
|
}
|
||||||
|
if( firstStart && ( item == 5 || ( ! Globals.SwVideoMode && item == 2 ) ) )
|
||||||
{
|
{
|
||||||
menuStack.clear();
|
menuStack.clear();
|
||||||
new MainMenu().run(p);
|
new MainMenu().run(p);
|
||||||
@@ -1237,7 +1274,10 @@ class Settings
|
|||||||
builder.setItems(items, new ClickListener());
|
builder.setItems(items, new ClickListener());
|
||||||
else
|
else
|
||||||
builder.setSingleChoiceItems(items,
|
builder.setSingleChoiceItems(items,
|
||||||
(Globals.LeftClickMethod == Mouse.LEFT_CLICK_WITH_TAP_OR_TIMEOUT && ! Globals.RelativeMouseMovement) ? 0 : 1,
|
Globals.ShowScreenUnderFinger == Mouse.ZOOM_NONE ?
|
||||||
|
( Globals.RelativeMouseMovement ? Globals.SwVideoMode ? 2 : 1 : 0 ) :
|
||||||
|
( Globals.ShowScreenUnderFinger == Mouse.ZOOM_MAGNIFIER && Globals.SwVideoMode ) ? 1 :
|
||||||
|
Globals.ShowScreenUnderFinger + 1,
|
||||||
new ClickListener());
|
new ClickListener());
|
||||||
builder.setOnCancelListener(new DialogInterface.OnCancelListener()
|
builder.setOnCancelListener(new DialogInterface.OnCancelListener()
|
||||||
{
|
{
|
||||||
@@ -1442,14 +1482,12 @@ class Settings
|
|||||||
void run (final MainActivity p)
|
void run (final MainActivity p)
|
||||||
{
|
{
|
||||||
CharSequence[] items = {
|
CharSequence[] items = {
|
||||||
p.getResources().getString(R.string.pointandclick_showcreenunderfinger2),
|
|
||||||
p.getResources().getString(R.string.pointandclick_joystickmouse),
|
p.getResources().getString(R.string.pointandclick_joystickmouse),
|
||||||
p.getResources().getString(R.string.click_with_dpadcenter),
|
p.getResources().getString(R.string.click_with_dpadcenter),
|
||||||
p.getResources().getString(R.string.pointandclick_relative)
|
p.getResources().getString(R.string.pointandclick_relative)
|
||||||
};
|
};
|
||||||
|
|
||||||
boolean defaults[] = {
|
boolean defaults[] = {
|
||||||
Globals.ShowScreenUnderFinger,
|
|
||||||
Globals.MoveMouseWithJoystick,
|
Globals.MoveMouseWithJoystick,
|
||||||
Globals.ClickMouseWithDpad,
|
Globals.ClickMouseWithDpad,
|
||||||
Globals.RelativeMouseMovement
|
Globals.RelativeMouseMovement
|
||||||
@@ -1463,12 +1501,10 @@ class Settings
|
|||||||
public void onClick(DialogInterface dialog, int item, boolean isChecked)
|
public void onClick(DialogInterface dialog, int item, boolean isChecked)
|
||||||
{
|
{
|
||||||
if( item == 0 )
|
if( item == 0 )
|
||||||
Globals.ShowScreenUnderFinger = isChecked;
|
|
||||||
if( item == 1 )
|
|
||||||
Globals.MoveMouseWithJoystick = isChecked;
|
Globals.MoveMouseWithJoystick = isChecked;
|
||||||
if( item == 2 )
|
if( item == 1 )
|
||||||
Globals.ClickMouseWithDpad = isChecked;
|
Globals.ClickMouseWithDpad = isChecked;
|
||||||
if( item == 3 )
|
if( item == 2 )
|
||||||
Globals.RelativeMouseMovement = isChecked;
|
Globals.RelativeMouseMovement = isChecked;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -2294,12 +2330,10 @@ class Settings
|
|||||||
{
|
{
|
||||||
CharSequence[] items = {
|
CharSequence[] items = {
|
||||||
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
||||||
p.getResources().getString(R.string.pointandclick_showcreenunderfinger2),
|
|
||||||
p.getResources().getString(R.string.video_smooth)
|
p.getResources().getString(R.string.video_smooth)
|
||||||
};
|
};
|
||||||
boolean defaults[] = {
|
boolean defaults[] = {
|
||||||
Globals.KeepAspectRatio,
|
Globals.KeepAspectRatio,
|
||||||
Globals.ShowScreenUnderFinger,
|
|
||||||
Globals.SmoothVideo
|
Globals.SmoothVideo
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2307,13 +2341,11 @@ class Settings
|
|||||||
{
|
{
|
||||||
CharSequence[] items2 = {
|
CharSequence[] items2 = {
|
||||||
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
||||||
p.getResources().getString(R.string.pointandclick_showcreenunderfinger2),
|
|
||||||
p.getResources().getString(R.string.video_smooth),
|
p.getResources().getString(R.string.video_smooth),
|
||||||
p.getResources().getString(R.string.video_separatethread),
|
p.getResources().getString(R.string.video_separatethread),
|
||||||
};
|
};
|
||||||
boolean defaults2[] = {
|
boolean defaults2[] = {
|
||||||
Globals.KeepAspectRatio,
|
Globals.KeepAspectRatio,
|
||||||
Globals.ShowScreenUnderFinger,
|
|
||||||
Globals.SmoothVideo,
|
Globals.SmoothVideo,
|
||||||
Globals.MultiThreadedVideo
|
Globals.MultiThreadedVideo
|
||||||
};
|
};
|
||||||
@@ -2325,11 +2357,9 @@ class Settings
|
|||||||
{
|
{
|
||||||
CharSequence[] items2 = {
|
CharSequence[] items2 = {
|
||||||
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
p.getResources().getString(R.string.pointandclick_keepaspectratio),
|
||||||
p.getResources().getString(R.string.pointandclick_showcreenunderfinger2)
|
|
||||||
};
|
};
|
||||||
boolean defaults2[] = {
|
boolean defaults2[] = {
|
||||||
Globals.KeepAspectRatio,
|
Globals.KeepAspectRatio,
|
||||||
Globals.ShowScreenUnderFinger
|
|
||||||
};
|
};
|
||||||
items = items2;
|
items = items2;
|
||||||
defaults = defaults2;
|
defaults = defaults2;
|
||||||
@@ -2344,10 +2374,8 @@ class Settings
|
|||||||
if( item == 0 )
|
if( item == 0 )
|
||||||
Globals.KeepAspectRatio = isChecked;
|
Globals.KeepAspectRatio = isChecked;
|
||||||
if( item == 1 )
|
if( item == 1 )
|
||||||
Globals.ShowScreenUnderFinger = isChecked;
|
|
||||||
if( item == 2 )
|
|
||||||
Globals.SmoothVideo = isChecked;
|
Globals.SmoothVideo = isChecked;
|
||||||
if( item == 3 )
|
if( item == 2 )
|
||||||
Globals.MultiThreadedVideo = isChecked;
|
Globals.MultiThreadedVideo = isChecked;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -2391,7 +2419,7 @@ class Settings
|
|||||||
nativeSetTrackballUsed();
|
nativeSetTrackballUsed();
|
||||||
if( Globals.AppUsesMouse )
|
if( Globals.AppUsesMouse )
|
||||||
nativeSetMouseUsed( Globals.RightClickMethod,
|
nativeSetMouseUsed( Globals.RightClickMethod,
|
||||||
Globals.ShowScreenUnderFinger ? 1 : 0,
|
Globals.ShowScreenUnderFinger,
|
||||||
Globals.LeftClickMethod,
|
Globals.LeftClickMethod,
|
||||||
Globals.MoveMouseWithJoystick ? 1 : 0,
|
Globals.MoveMouseWithJoystick ? 1 : 0,
|
||||||
Globals.ClickMouseWithDpad ? 1 : 0,
|
Globals.ClickMouseWithDpad ? 1 : 0,
|
||||||
|
|||||||
@@ -79,6 +79,10 @@ class Mouse
|
|||||||
public static final int SDL_FINGER_MOVE = 2;
|
public static final int SDL_FINGER_MOVE = 2;
|
||||||
public static final int SDL_FINGER_HOVER = 3;
|
public static final int SDL_FINGER_HOVER = 3;
|
||||||
|
|
||||||
|
public static final int ZOOM_NONE = 0;
|
||||||
|
public static final int ZOOM_MAGNIFIER = 1;
|
||||||
|
public static final int ZOOM_WHOLE_SCREEN = 2;
|
||||||
|
public static final int ZOOM_FULLSCREEN_MAGNIFIER = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class DifferentTouchInput
|
abstract class DifferentTouchInput
|
||||||
|
|||||||
@@ -565,7 +565,6 @@ int main(int argc, char* argv[])
|
|||||||
r.x -= r.w/2;
|
r.x -= r.w/2;
|
||||||
r.y -= r.h/2;
|
r.y -= r.h/2;
|
||||||
SDL_FillRect(screen, &r, color);
|
SDL_FillRect(screen, &r, color);
|
||||||
__android_log_print(ANDROID_LOG_INFO, "Ballfield", "Mouse %d:%d buttons %d", mx, my, b);
|
|
||||||
|
|
||||||
SDL_Flip(SDL_GetVideoSurface());
|
SDL_Flip(SDL_GetVideoSurface());
|
||||||
SDL_Event evt;
|
SDL_Event evt;
|
||||||
|
|||||||
@@ -389,6 +389,8 @@ SDL_Surface *ANDROID_SetVideoMode(_THIS, SDL_Surface *current,
|
|||||||
/* Set up the new mode framebuffer */
|
/* Set up the new mode framebuffer */
|
||||||
SDL_CurrentVideoSurface = current;
|
SDL_CurrentVideoSurface = current;
|
||||||
|
|
||||||
|
UpdateScreenUnderFingerRect(0,0);
|
||||||
|
|
||||||
/* We're done */
|
/* We're done */
|
||||||
return(current);
|
return(current);
|
||||||
}
|
}
|
||||||
@@ -861,19 +863,11 @@ static void ANDROID_FlipHWSurfaceInternal(int numrects, SDL_Rect *rects)
|
|||||||
for(i = 0; i < numrects; i++)
|
for(i = 0; i < numrects; i++)
|
||||||
SDL_UpdateTexture((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &rects[i], SDL_CurrentVideoSurface->pixels, SDL_CurrentVideoSurface->pitch);
|
SDL_UpdateTexture((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &rects[i], SDL_CurrentVideoSurface->pixels, SDL_CurrentVideoSurface->pitch);
|
||||||
}
|
}
|
||||||
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &rect, &rect);
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_NONE || SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER )
|
||||||
static int MousePointerAlpha = 255;
|
|
||||||
if(SDL_ANDROID_ShowMouseCursor)
|
|
||||||
{
|
{
|
||||||
int x, y;
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &rect, &rect);
|
||||||
SDL_GetMouseState(&x, &y);
|
|
||||||
x = x * SDL_ANDROID_sRealWindowWidth / SDL_ANDROID_sFakeWindowWidth;
|
|
||||||
y = y * SDL_ANDROID_sRealWindowHeight / SDL_ANDROID_sFakeWindowHeight;
|
|
||||||
SDL_ANDROID_DrawMouseCursor( x, y, 0, MousePointerAlpha );
|
|
||||||
if( MousePointerAlpha > 64 )
|
|
||||||
MousePointerAlpha -= 10 ;
|
|
||||||
}
|
}
|
||||||
if( SDL_ANDROID_ShowScreenUnderFinger && SDL_ANDROID_ShowScreenUnderFingerRect.w > 0 )
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER && SDL_ANDROID_ShowScreenUnderFingerRect.w > 0 )
|
||||||
{
|
{
|
||||||
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &SDL_ANDROID_ShowScreenUnderFingerRectSrc, &SDL_ANDROID_ShowScreenUnderFingerRect);
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &SDL_ANDROID_ShowScreenUnderFingerRectSrc, &SDL_ANDROID_ShowScreenUnderFingerRect);
|
||||||
SDL_Rect frame = SDL_ANDROID_ShowScreenUnderFingerRect;
|
SDL_Rect frame = SDL_ANDROID_ShowScreenUnderFingerRect;
|
||||||
@@ -901,9 +895,79 @@ static void ANDROID_FlipHWSurfaceInternal(int numrects, SDL_Rect *rects)
|
|||||||
glDrawArrays(GL_LINE_LOOP, 0, 4);
|
glDrawArrays(GL_LINE_LOOP, 0, 4);
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
if(SDL_ANDROID_ShowMouseCursor)
|
//glFlush();
|
||||||
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_WHOLE_SCREEN )
|
||||||
|
{
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &SDL_ANDROID_ShowScreenUnderFingerRectSrc, &SDL_ANDROID_ShowScreenUnderFingerRect);
|
||||||
|
SDL_Rect edge, edgeSrc;
|
||||||
|
// upper-left
|
||||||
|
edge.x = edge.y = edgeSrc.x = edgeSrc.y = 0;
|
||||||
|
edge.w = SDL_ANDROID_ShowScreenUnderFingerRect.x;
|
||||||
|
edge.h = SDL_ANDROID_ShowScreenUnderFingerRect.y;
|
||||||
|
edgeSrc.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.x;
|
||||||
|
edgeSrc.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.y;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// left
|
||||||
|
edge.y = SDL_ANDROID_ShowScreenUnderFingerRect.y;
|
||||||
|
edgeSrc.y = SDL_ANDROID_ShowScreenUnderFingerRectSrc.y;
|
||||||
|
edge.h = SDL_ANDROID_ShowScreenUnderFingerRect.h;
|
||||||
|
edgeSrc.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// lower-left
|
||||||
|
edge.y = SDL_ANDROID_ShowScreenUnderFingerRect.y + SDL_ANDROID_ShowScreenUnderFingerRect.h;
|
||||||
|
edgeSrc.y = SDL_ANDROID_ShowScreenUnderFingerRectSrc.y + SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
|
edge.h = SDL_ANDROID_sFakeWindowHeight - edge.y;
|
||||||
|
edgeSrc.h = SDL_ANDROID_sFakeWindowHeight - edgeSrc.y;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// lower
|
||||||
|
edge.x = SDL_ANDROID_ShowScreenUnderFingerRect.x;
|
||||||
|
edgeSrc.x = SDL_ANDROID_ShowScreenUnderFingerRectSrc.x;
|
||||||
|
edge.w = SDL_ANDROID_ShowScreenUnderFingerRect.w;
|
||||||
|
edgeSrc.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// lower-right
|
||||||
|
edge.x = SDL_ANDROID_ShowScreenUnderFingerRect.x + SDL_ANDROID_ShowScreenUnderFingerRect.w;
|
||||||
|
edgeSrc.x = SDL_ANDROID_ShowScreenUnderFingerRectSrc.x + SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
|
edge.w = SDL_ANDROID_sFakeWindowWidth - edge.x;
|
||||||
|
edgeSrc.w = SDL_ANDROID_sFakeWindowWidth - edgeSrc.x;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// right
|
||||||
|
edge.y = SDL_ANDROID_ShowScreenUnderFingerRect.y;
|
||||||
|
edgeSrc.y = SDL_ANDROID_ShowScreenUnderFingerRectSrc.y;
|
||||||
|
edge.h = SDL_ANDROID_ShowScreenUnderFingerRect.h;
|
||||||
|
edgeSrc.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// upper-right
|
||||||
|
edge.y = 0;
|
||||||
|
edgeSrc.y = 0;
|
||||||
|
edge.h = SDL_ANDROID_ShowScreenUnderFingerRect.y;
|
||||||
|
edgeSrc.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.y;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
// upper
|
||||||
|
edge.x = SDL_ANDROID_ShowScreenUnderFingerRect.x;
|
||||||
|
edgeSrc.x = SDL_ANDROID_ShowScreenUnderFingerRectSrc.x;
|
||||||
|
edge.w = SDL_ANDROID_ShowScreenUnderFingerRect.w;
|
||||||
|
edgeSrc.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &edgeSrc, &edge);
|
||||||
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_FULLSCREEN_MAGNIFIER )
|
||||||
|
{
|
||||||
|
SDL_RenderCopy((struct SDL_Texture *)SDL_CurrentVideoSurface->hwdata, &SDL_ANDROID_ShowScreenUnderFingerRectSrc, &SDL_ANDROID_ShowScreenUnderFingerRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(SDL_ANDROID_ShowMouseCursor)
|
||||||
|
{
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_NONE || SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER )
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
SDL_GetMouseState(&x, &y);
|
||||||
|
x = x * SDL_ANDROID_sRealWindowWidth / SDL_ANDROID_sFakeWindowWidth;
|
||||||
|
y = y * SDL_ANDROID_sRealWindowHeight / SDL_ANDROID_sFakeWindowHeight;
|
||||||
|
SDL_ANDROID_DrawMouseCursor( x, y, 0, 255 );
|
||||||
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger != ZOOM_NONE )
|
||||||
{
|
{
|
||||||
MousePointerAlpha = 255;
|
|
||||||
int x, y;
|
int x, y;
|
||||||
SDL_GetMouseState(&x, &y);
|
SDL_GetMouseState(&x, &y);
|
||||||
x = SDL_ANDROID_ShowScreenUnderFingerRect.x +
|
x = SDL_ANDROID_ShowScreenUnderFingerRect.x +
|
||||||
@@ -916,7 +980,6 @@ static void ANDROID_FlipHWSurfaceInternal(int numrects, SDL_Rect *rects)
|
|||||||
y = y * SDL_ANDROID_sRealWindowHeight / SDL_ANDROID_sFakeWindowHeight;
|
y = y * SDL_ANDROID_sRealWindowHeight / SDL_ANDROID_sFakeWindowHeight;
|
||||||
SDL_ANDROID_DrawMouseCursor( x, y, 16, 255 );
|
SDL_ANDROID_DrawMouseCursor( x, y, 16, 255 );
|
||||||
}
|
}
|
||||||
//glFlush();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ static int leftClickMethod = LEFT_CLICK_NORMAL;
|
|||||||
static int rightClickMethod = RIGHT_CLICK_NONE;
|
static int rightClickMethod = RIGHT_CLICK_NONE;
|
||||||
static int leftClickKey = KEYCODE_DPAD_CENTER;
|
static int leftClickKey = KEYCODE_DPAD_CENTER;
|
||||||
static int rightClickKey = KEYCODE_MENU;
|
static int rightClickKey = KEYCODE_MENU;
|
||||||
int SDL_ANDROID_ShowScreenUnderFinger = 0;
|
int SDL_ANDROID_ShowScreenUnderFinger = ZOOM_NONE;
|
||||||
SDL_Rect SDL_ANDROID_ShowScreenUnderFingerRect = {0, 0, 0, 0}, SDL_ANDROID_ShowScreenUnderFingerRectSrc = {0, 0, 0, 0};
|
SDL_Rect SDL_ANDROID_ShowScreenUnderFingerRect = {0, 0, 0, 0}, SDL_ANDROID_ShowScreenUnderFingerRectSrc = {0, 0, 0, 0};
|
||||||
static int moveMouseWithArrowKeys = 0;
|
static int moveMouseWithArrowKeys = 0;
|
||||||
static int clickMouseWithDpadCenter = 0;
|
static int clickMouseWithDpadCenter = 0;
|
||||||
@@ -159,49 +159,100 @@ void UpdateScreenUnderFingerRect(int x, int y)
|
|||||||
{
|
{
|
||||||
#if SDL_VERSION_ATLEAST(1,3,0)
|
#if SDL_VERSION_ATLEAST(1,3,0)
|
||||||
return;
|
return;
|
||||||
/*
|
|
||||||
int screenX = 320, screenY = 240;
|
|
||||||
if( !SDL_ANDROID_ShowScreenUnderFinger )
|
|
||||||
return;
|
|
||||||
|
|
||||||
SDL_Window * window = SDL_GetFocusWindow();
|
|
||||||
if( window && window->renderer->window ) {
|
|
||||||
screenX = window->w;
|
|
||||||
screenY = window->h;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
#else
|
#else
|
||||||
int screenX = SDL_ANDROID_sFakeWindowWidth, screenY = SDL_ANDROID_sFakeWindowHeight;
|
int screenX = SDL_ANDROID_sFakeWindowWidth, screenY = SDL_ANDROID_sFakeWindowHeight;
|
||||||
if( !SDL_ANDROID_ShowScreenUnderFinger )
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_NONE )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = screenX / 4;
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER )
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = screenY / 4;
|
{
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = x - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w/2;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = screenX / 4;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = y - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h/2;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = screenY / 4;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x < 0 )
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = x - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w/2;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = y - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h/2;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y < 0 )
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x < 0 )
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = 0;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x > screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w )
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y < 0 )
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = 0;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y > screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h )
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x > screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.w * 3 / 2;
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y > screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h )
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h * 3 / 2;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.x = x + SDL_ANDROID_ShowScreenUnderFingerRect.w/10;
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.y = y - SDL_ANDROID_ShowScreenUnderFingerRect.h*11/10;
|
SDL_ANDROID_ShowScreenUnderFingerRect.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.w * 3 / 2;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRect.x < 0 )
|
SDL_ANDROID_ShowScreenUnderFingerRect.h = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h * 3 / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = x + SDL_ANDROID_ShowScreenUnderFingerRect.w/10;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = y - SDL_ANDROID_ShowScreenUnderFingerRect.h*11/10;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.x < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.y < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.x + SDL_ANDROID_ShowScreenUnderFingerRect.w >= screenX )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRect.w - 1;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.y + SDL_ANDROID_ShowScreenUnderFingerRect.h >= screenY )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRect.h - 1;
|
||||||
|
if( InsideRect(&SDL_ANDROID_ShowScreenUnderFingerRect, x, y) )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = x - SDL_ANDROID_ShowScreenUnderFingerRect.w*11/10 - 1;
|
||||||
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_WHOLE_SCREEN )
|
||||||
|
{
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.w = screenX * 2 / 3;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.h = screenY * 2 / 3;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = x * (screenX - SDL_ANDROID_ShowScreenUnderFingerRect.w) / screenX;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = y * (screenY - SDL_ANDROID_ShowScreenUnderFingerRect.h) / screenY;
|
||||||
|
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.x < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.y < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.x > screenX - SDL_ANDROID_ShowScreenUnderFingerRect.w )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRect.w;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRect.y > screenY - SDL_ANDROID_ShowScreenUnderFingerRect.h )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRect.h;
|
||||||
|
|
||||||
|
/*
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = SDL_ANDROID_ShowScreenUnderFingerRect.w / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = SDL_ANDROID_ShowScreenUnderFingerRect.h / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = SDL_ANDROID_ShowScreenUnderFingerRect.x + (SDL_ANDROID_ShowScreenUnderFingerRect.w - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w) / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = SDL_ANDROID_ShowScreenUnderFingerRect.y + (SDL_ANDROID_ShowScreenUnderFingerRect.h - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h) / 2;
|
||||||
|
*/
|
||||||
|
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = screenX / 3;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = screenY / 3;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = x - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w/2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = y - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h/2;
|
||||||
|
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x > screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y > screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_FULLSCREEN_MAGNIFIER )
|
||||||
|
{
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = screenX / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = screenY / 2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = x - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w/2;
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = y - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h/2;
|
||||||
|
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y < 0 )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = 0;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.x > screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRectSrc.w;
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFingerRectSrc.y > screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h )
|
||||||
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRectSrc.h;
|
||||||
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.x = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRect.x = 0;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRect.y < 0 )
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.y = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRect.y = 0;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRect.x + SDL_ANDROID_ShowScreenUnderFingerRect.w >= screenX )
|
SDL_ANDROID_ShowScreenUnderFingerRect.w = screenX;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.x = screenX - SDL_ANDROID_ShowScreenUnderFingerRect.w - 1;
|
SDL_ANDROID_ShowScreenUnderFingerRect.h = screenY;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFingerRect.y + SDL_ANDROID_ShowScreenUnderFingerRect.h >= screenY )
|
}
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.y = screenY - SDL_ANDROID_ShowScreenUnderFingerRect.h - 1;
|
|
||||||
if( InsideRect(&SDL_ANDROID_ShowScreenUnderFingerRect, x, y) )
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.x = x - SDL_ANDROID_ShowScreenUnderFingerRect.w*11/10 - 1;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -472,7 +523,7 @@ JAVA_EXPORT_NAME(DemoGLSurfaceView_nativeMouse) ( JNIEnv* env, jobject thiz, j
|
|||||||
|
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRect.w = SDL_ANDROID_ShowScreenUnderFingerRect.h = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRect.w = SDL_ANDROID_ShowScreenUnderFingerRect.h = 0;
|
||||||
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = 0;
|
SDL_ANDROID_ShowScreenUnderFingerRectSrc.w = SDL_ANDROID_ShowScreenUnderFingerRectSrc.h = 0;
|
||||||
if( SDL_ANDROID_ShowScreenUnderFinger )
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER )
|
||||||
{
|
{
|
||||||
// Move mouse by 1 pixel so it will force screen update and mouse-under-finger window will be removed
|
// Move mouse by 1 pixel so it will force screen update and mouse-under-finger window will be removed
|
||||||
if( moveMouseWithKbX >= 0 )
|
if( moveMouseWithKbX >= 0 )
|
||||||
@@ -587,8 +638,12 @@ JAVA_EXPORT_NAME(DemoGLSurfaceView_nativeMouse) ( JNIEnv* env, jobject thiz, j
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UpdateScreenUnderFingerRect(x, y);
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_MAGNIFIER )
|
||||||
|
UpdateScreenUnderFingerRect(x, y);
|
||||||
}
|
}
|
||||||
|
if( SDL_ANDROID_ShowScreenUnderFinger == ZOOM_WHOLE_SCREEN ||
|
||||||
|
SDL_ANDROID_ShowScreenUnderFinger == ZOOM_FULLSCREEN_MAGNIFIER )
|
||||||
|
UpdateScreenUnderFingerRect(x, y);
|
||||||
}
|
}
|
||||||
if( pointerId != firstMousePointerId && (action == MOUSE_DOWN || action == MOUSE_UP) )
|
if( pointerId != firstMousePointerId && (action == MOUSE_DOWN || action == MOUSE_UP) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
#include "SDL_joystick.h"
|
#include "SDL_joystick.h"
|
||||||
#include "SDL_events.h"
|
#include "SDL_events.h"
|
||||||
|
|
||||||
|
enum ScreenZoom { ZOOM_NONE = 0, ZOOM_MAGNIFIER = 1, ZOOM_WHOLE_SCREEN = 2, ZOOM_FULLSCREEN_MAGNIFIER = 3 };
|
||||||
|
|
||||||
extern int SDL_ANDROID_sWindowWidth;
|
extern int SDL_ANDROID_sWindowWidth;
|
||||||
extern int SDL_ANDROID_sWindowHeight;
|
extern int SDL_ANDROID_sWindowHeight;
|
||||||
extern int SDL_ANDROID_sRealWindowWidth;
|
extern int SDL_ANDROID_sRealWindowWidth;
|
||||||
|
|||||||
Reference in New Issue
Block a user