📄 backlightcanvas.java
字号:
// J2ME GPS Track
// Copyright (C) 2006 Dana Peters
// http://www.qcontinuum.org/gpstrack
package org.qcontinuum.gpstrack;
import javax.microedition.lcdui.*;
import java.util.*;
public class BacklightCanvas extends Canvas {
private Timer mTimer;
private Displayable mLastDisplayable;
private int mTimeoutSeconds;
private Displayable mBacklightCanvas;
private boolean mBacklightDisabled;
private final static int CHECKSECONDS = 5;
public BacklightCanvas() {
mBacklightCanvas = this;
mBacklightDisabled = true;
mTimer = new Timer();
mTimer.schedule(new BacklightTimerTask(), 1, CHECKSECONDS * 1000);
}
public class BacklightTimerTask extends TimerTask {
public void run() {
Displayable currentDisplayable = GpsTrack.getCurrent();
if (currentDisplayable != mBacklightCanvas) {
if (currentDisplayable == mLastDisplayable
&& !(currentDisplayable instanceof Alert)
&& !(currentDisplayable instanceof TextBox)) {
mTimeoutSeconds += CHECKSECONDS;
Preferences preferences = GpsTrack.getPreferences();
int backlightSeconds = preferences.getBacklightSeconds();
if (backlightSeconds != 0) {
mBacklightDisabled = false;
if (mTimeoutSeconds >= backlightSeconds) {
mTimeoutSeconds = 0;
GpsTrack.flashBackLight(0); // turn backlight off
GpsTrack.display(mBacklightCanvas);
} else
GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // turn backlight on
} else {
if (!mBacklightDisabled)
GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // keep backlight on
}
} else {
mTimeoutSeconds = 0;
mLastDisplayable = currentDisplayable;
if (!mBacklightDisabled)
GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2); // keep backlight on
}
}
}
}
public void paint(Graphics g) {
// black out display
g.setGrayScale(0);
g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
}
protected void keyPressed(int keyCode) {
GpsTrack.flashBackLight(CHECKSECONDS * 1000 * 2);
GpsTrack.display(mLastDisplayable);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -