Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 492 → Rev 493

/DUBwise/trunk/j2me/src/DUBwiseCanvas.java
42,6 → 42,12
//#endif
{
 
//#expand public final static byte version_patch=%VERSION_PATCH%;
//#expand public final static byte version_minor=%VERSION_MINOR%;
//#expand public final static byte version_major=%VERSION_MAJOR%;
public final static String version_str="" +version_major + "." + version_minor +"" +(char)('a'+version_patch) ;
 
//#if (location=="on")&&(cldc11=="on")
public void providerStateChanged(javax.microedition.location.LocationProvider p ,int i )
{
83,12 → 89,9
}
 
//#endif
//#expand public final static byte version_patch=%VERSION_PATCH%;
//#expand public final static byte version_minor=%VERSION_MINOR%;
//#expand public final static byte version_major=%VERSION_MAJOR%;
 
public final static String version_str="" +version_major + "." + version_minor +"" +(char)('a'+version_patch) ;
 
// MENU Definitions
 
public final static int[] param_menu_items={STRINGID_EDIT_SETTINGS,STRINGID_COPY_TO_MOBILE,STRINGID_LOAD_FROM_MOBILE,STRINGID_REINITIALIZE_ALL,STRINGID_BACK};
public final static byte[] param_menu_actions={ACTIONID_SELECT_PARAMS,ACTIONID_PARAM_COPY_MOBILE,ACTIONID_PARAM_LOAD_MOBILE,ACTIONID_RESET_PARAMS,ACTIONID_MAINMENU};
114,8 → 117,6
DUBwiseFileAccess file_access;
//#endif
 
 
 
MixerManager mixer_manager;
MotorTester motor_tester;
215,6 → 216,8
private Image bg_img;
private Image lcd_img;
private Image symbols_img;
 
private Image big_symbols_img;
private int symbols_img_tile_height;
private int symbols_img_tile_width;
275,9 → 278,6
int spacer_medium=0;
int spacer_large=0;
 
// int[] motor_test = {0,0,0,0};
 
String[] menu_items;
byte[] menu_actions;
byte act_menu_select=0;
405,7 → 405,7
 
if ( mk.is_navi()||mk.is_mk() )
{
 
tmp_menu_add("Big Symbols",ACTIONID_BIG_SYMBOLS);
tmp_menu_add(l(STRINGID_COCKPIT),ACTIONID_HORIZON);
tmp_menu_add(l(STRINGID_LCD),ACTIONID_LCD);
}
1370,7 → 1370,105
*/
 
 
public byte big_symbol_by_pos(byte pos)
{
switch(pos)
{
 
case 0:
if (mk.connected)
return (byte)((((mk.stats.bytes_in>>3)&1)==1)?2:3);
 
else
{
if (mk.mk_url.startsWith("btspp://"))
return 1;
else return 29;
}
 
 
case 1:
if (mk.SenderOkay()>0)
return 6;
else
return 29;
 
 
case 5:
return 4;
 
case 6:
if ( mk.UBatt()==-1)
return 29;
else
return (byte)(mk.UBatt()/100+10);
 
case 7:
if ( mk.UBatt()==-1)
return 29;
else
return (byte)((mk.UBatt()/10)%10+10);
case 8:
if ( mk.UBatt()==-1)
return 29;
else
return 9;
 
case 9:
if ( mk.UBatt()==-1)
return 29;
else
return (byte)((mk.UBatt())%10+10);
 
case 10:
return (byte)(((mk.stats.flying_time()/60)/10)%10+10);
case 11:
return (byte)(((mk.stats.flying_time()/60))%10+10);
 
case 12:
return 23;
 
case 13:
return (byte)(((mk.stats.flying_time()%60)/10)%10+10);
case 14:
return (byte)(((mk.stats.flying_time()%60))%10+10);
 
case 15:
return (byte)((mk.Alt()/10000)%10+10);
 
case 16:
return (byte)((mk.Alt()/1000)%10+10);
 
case 17:
return (byte)((mk.Alt()/100)%10+10);
case 18:
return (byte)((mk.Alt()/10)%10+10);
 
case 19:
return (byte)((mk.Alt())%10+10);
 
default:
return 29;
 
}
}
public void big_symbol_paint(Graphics g,byte x,byte y,byte tile)
{
int big_symbols_tile_width=big_symbols_img.getWidth()/10;
int big_symbols_tile_height=big_symbols_img.getHeight()/3;
 
byte tile_y=(byte)(tile/10);
tile%=10;
 
g.setClip(x*big_symbols_tile_width,y*big_symbols_tile_height,(big_symbols_tile_width),big_symbols_tile_height);
g.drawImage(big_symbols_img,x*big_symbols_tile_width+(-tile)*(big_symbols_tile_width),(y-tile_y)*(big_symbols_tile_height), g.TOP | g.LEFT);
}
 
public void symbol_paint(Graphics g,int x,int tile,int row)
{
g.setClip(x,0,(symbols_img_tile_width),symbols_img_tile_height);;
1471,7 → 1569,7
 
g.setClip(symbol_left,0,symbols_img_tile_width,symbols_img_tile_height);;
// g.setClip(symbol_left,0,symbols_img_tile_width,symbols_img_tile_height);;
if (mk.connected)
symbol_paint(g,symbol_left,(((mk.stats.bytes_in>>3)&1)==1)?2:3,0);
 
1755,6 → 1853,15
}
break;
 
case STATEID_BIG_SYMBOLS:
int act_tile=0;
for (int sx=0;sx<5;sx++)
for (int sy=0;sy<4;sy++)
big_symbol_paint(g,(byte)sx,(byte)sy,big_symbol_by_pos((byte)(sx+sy*5) ));
// g.drawImage(big_symbols_img,0,0, g.TOP | g.LEFT);
break;
case STATEID_SUCCESS_MSG:
case STATEID_ERROR_MSG:
if (err_img!=null)
2432,22 → 2539,14
act_menu_select_bak[state]=act_menu_select;
act_menu_select=act_menu_select_bak[next_state];
 
 
/*
// tasks on state exit
switch(next_state)
{
case STATEID_SETTINGSMENU:
 
break;
}
*/
// prepare next state
switch(next_state)
 
{
 
case STATEID_BIG_SYMBOLS:
big_symbols_img=DUBwiseHelper.scaleImage(symbols_img,(this.getWidth()/5)*10);
break;
case STATEID_MOTORTEST:
motor_tester=new MotorTester();
act_editor=new MKParamsEditor(this,motor_tester,STATEID_MAINMENU);
2816,6 → 2915,9
{
switch(actionid)
{
case ACTIONID_BIG_SYMBOLS:
chg_state(STATEID_BIG_SYMBOLS);
break;
 
case ACTIONID_SELECT_MIXER:
chg_state(STATEID_SELECT_MIXER);
/DUBwise/trunk/j2me/src/DUBwiseHelper.java
10,9 → 10,8
import java.util.Vector;
import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
 
 
 
public final class DUBwiseHelper
{
public final static String ip_digit_zeroes(int digit)
173,4 → 172,49
 
}
 
 
public static Image scaleImage(Image original, int newWidth)
// this function is from http://willperone.net/Code/codescaling.php
{
int[] rawInput = new int[original.getHeight() * original.getWidth()];
original.getRGB(rawInput, 0, original.getWidth(), 0, 0, original.getWidth(), original.getHeight());
int newHeight=((original.getHeight()* (newWidth/10)) / (original.getWidth()/10));
int[] rawOutput = new int[newWidth*newHeight];
 
// YD compensates for the x loop by subtracting the width back out
int YD = (original.getHeight() / newHeight) * original.getWidth() - original.getWidth();
int YR = original.getHeight() % newHeight;
int XD = original.getWidth() / newWidth;
int XR = original.getWidth() % newWidth;
 
 
int outOffset= 0;
int inOffset= 0;
for (int y= newHeight, YE= 0; y > 0; y--) {
for (int x= newWidth, XE= 0; x > 0; x--) {
rawOutput[outOffset++]= rawInput[inOffset];
inOffset+=XD;
XE+=XR;
if (XE >= newWidth) {
XE-= newWidth;
inOffset++;
}
}
inOffset+= YD;
YE+= YR;
if (YE >= newHeight) {
YE -= newHeight;
inOffset+=original.getWidth();
}
}
return Image.createRGBImage(rawOutput, newWidth, newHeight, false);
}
 
 
 
}
/DUBwise/trunk/j2me/src/DUBwiseUIDefinitions.java
53,12 → 53,12
public final static byte STATEID_GET_AVRSIG =38;
public final static byte STATEID_SELECT_MIXER =39;
public final static byte STATEID_DUBWISE_VALUES =40;
public final static byte STATEID_BIG_SYMBOLS =41;
 
public final static byte STATEID_COUNT =42;
 
public final static byte STATEID_COUNT =41;
 
 
 
public final static byte ACTIONID_SETTINGS = 0;
public final static byte ACTIONID_DEVICESELECT = 1;
public final static byte ACTIONID_DEBUG = 2;
108,6 → 108,7
public final static byte ACTIONID_MAP = 46;
public final static byte ACTIONID_SELECT_DUBWISEDIR = 47;
public final static byte ACTIONID_SELECT_MIXER = 48;
public final static byte ACTIONID_BIG_SYMBOLS = 49;
 
public final static byte ACTIONID_QUIT = 100;
 
/DUBwise/trunk/j2me/src/MKStatusVoice.java
106,12 → 106,13
{
 
try {
act_player_state=PLAYERSTATE_PLAYING;
 
if (up_player==null)
up_player=init_player("up");
 
 
up_player.start();
act_player_state=PLAYERSTATE_PLAYING;
}
catch (Exception e) {
121,12 → 122,11
 
public void play_down()
{
 
try {
act_player_state=PLAYERSTATE_PLAYING;
if (down_player==null)
down_player=init_player("down");
down_player.start();
act_player_state=PLAYERSTATE_PLAYING;
}
catch (Exception e) {