/DUBwise/src/Android/src/org/ligi/DUBwise.java |
---|
0,0 → 1,42 |
package org.ligi; |
import android.app.Activity; |
import android.os.Bundle; |
import android.app.Activity; |
import android.os.Bundle; |
import android.view.View; |
import android.widget.TextView; |
import android.app.Activity; |
import android.content.Context; |
import android.graphics.*; |
import android.os.Bundle; |
import android.os.*; |
import android.view.View; |
import java.util.Random; |
import android.view.Window; |
import android.view.WindowManager; |
import org.bluez.*; |
public class DUBwise extends Activity |
{ |
/** Called when the activity is first created. */ |
@Override |
public void onCreate(Bundle icicle) |
{ |
super.onCreate(icicle); |
this.requestWindowFeature(Window.FEATURE_NO_TITLE); |
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NO_STATUS_BAR, |
WindowManager.LayoutParams.FLAG_NO_STATUS_BAR); |
setContentView(new DUBwiseView(this)); |
//super.onCreate(icicle); |
} |
} |
/DUBwise/src/Android/src/org/ligi/DUBwiseDefinitions.java |
---|
0,0 → 1,42 |
package org.ligi; |
public interface DUBwiseDefinitions |
{ |
// id for each state - must just be uniq - order isnt important |
public final static int STATEID_SCANNING =0; |
public final static int STATEID_DEVICESELECT =1; |
public final static int STATEID_MAINMENU =2; |
public final static int STATEID_MOTORTEST =3; |
public final static int STATEID_SELECT_PARAMSET =4; |
public final static int STATEID_EDIT_PARAMS =5; |
public final static int STATEID_HANDLE_PARAMS =6; |
public final static int STATEID_FLIGHTVIEW =7; |
public final static int STATEID_RAWDEBUG =8; |
public final static int STATEID_KEYCONTROL =9; |
public final static int STATEID_SETTINGSMENU =10; |
public final static int STATEID_STICKVIEW =11; |
public final static int STATEID_CAMMODE =12; |
public String[] main_menu_items={"Telemetry","Raw Debug", "view RC-data", "MK-KeyControl", "Motor Test" , "Flight Settings","Tool Settings","Remote Cam","Proxy","Change Device" , "Quit " }; |
public final static int MAINMENU_TELEMETRY =0; |
public final static int MAINMENU_RAWDEBUG =1+MAINMENU_TELEMETRY; |
public final static int MAINMENU_STICKS =1+MAINMENU_RAWDEBUG; |
public final static int MAINMENU_KEYCONTROL =1+MAINMENU_STICKS; |
public final static int MAINMENU_MOTORTEST =1+MAINMENU_KEYCONTROL; |
public final static int MAINMENU_PARAMS =1+MAINMENU_MOTORTEST; |
public final static int MAINMENU_SETTINGSMENU =1+MAINMENU_PARAMS; |
public final static int MAINMENU_CAMMODE =1+MAINMENU_SETTINGSMENU; |
public final static int MAINMENU_PROXY =1+MAINMENU_CAMMODE; |
public final static int MAINMENU_DEVICESELECT =1+MAINMENU_PROXY; |
public final static int MAINMENU_QUIT =1+MAINMENU_DEVICESELECT; |
public String[] settings_menu_items={"Skin ","Sound ","Vibra " ,"Graph ","FullScreen " ,"Keep BGLight " ,"Back" }; |
public final static int SETTINGSMENU_CHANGESKIN =0; |
public final static int SETTINGSMENU_SOUNDTOGGLE =1; |
public final static int SETTINGSMENU_VIBRATOGGLE =2; |
public final static int SETTINGSMENU_GRAPHTOGGLE =3; |
public final static int SETTINGSMENU_FULLSCREENTOGGLE =4; |
public final static int SETTINGSMENU_LIGHTTOGGLE =5; |
public final static int SETTINGSMENU_BACK =6; |
} |
/DUBwise/src/Android/src/org/ligi/DUBwiseView |
---|
0,0 → 1,71 |
package org.ligi; |
import android.app.Activity; |
import android.os.Bundle; |
import android.app.Activity; |
import android.os.Bundle; |
import android.view.View; |
import android.widget.TextView; |
import android.app.Activity; |
import android.content.Context; |
import android.graphics.*; |
import android.os.Bundle; |
import android.os.*; |
import android.view.View; |
import java.util.Random; |
import android.view.Window; |
import android.view.WindowManager; |
import org.bluez.*; |
public class DUBwiseView extends View { |
private Paint mPaint = new Paint(); |
private Bitmap mBitmap; |
private int pos=0; |
private int dir=1; |
String str1=""; |
long last_run=0; |
public DUBwiseView(Context context) { |
super(context); |
mBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.intro_anim); |
} |
@Override protected void onDraw(Canvas canvas) { |
Paint paint = mPaint; |
paint.setAntiAlias(true); |
canvas.drawColor(Color.WHITE); |
paint.setColor(Color.BLACK); |
canvas.clipRect(new RectF(0,0,getWidth(),getHeight())); |
canvas.drawText("test123"+str1+" " + getLeft() + " <> "+getTop(),getLeft(),200,paint); |
pos+=dir; |
if (pos==3) dir=-1; |
if (pos==0) dir=1; |
float x=(getLeft()+ (this.getWidth()-mBitmap.getWidth()/4)/2); |
float y= getTop() + (this.getHeight()-mBitmap.getHeight())/2 ; |
canvas.clipRect(new RectF(x,y,x+mBitmap.getWidth()/4,y+mBitmap.getHeight())); |
canvas.drawColor(Color.BLACK); |
canvas.drawBitmap(mBitmap,x -pos*(mBitmap.getWidth()/4) ,y , paint); |
SystemClock.sleep(500); |
invalidate(); |
} |
} |
/DUBwise/src/Android/src/org/ligi/DUBwiseView.java |
---|
0,0 → 1,177 |
package org.ligi; |
import android.app.Activity; |
import android.os.Bundle; |
import android.app.Activity; |
import android.os.Bundle; |
import android.view.View; |
import android.widget.TextView; |
import android.app.Activity; |
import android.content.Context; |
import android.graphics.*; |
import android.os.Bundle; |
import android.os.*; |
import android.view.View; |
import java.util.Random; |
import android.view.Window; |
import android.view.WindowManager; |
import android.view.KeyEvent; |
import android.graphics.Region.Op; |
import org.bluez.*; |
public class DUBwiseView |
extends View |
implements DUBwiseDefinitions |
{ |
private Paint mPaint = new Paint(); |
public static int LCD_CHAR_COUNT=222; |
// some images we need |
private Bitmap bg_img,lcd_tiles,lcd_img; |
// pos for scrolling |
private int pos=0; |
String str1=""; |
String[] lcd_lines; |
long last_run=0; |
int last_key=0; |
int wi,he; |
// Activity context; |
Activity root; |
int lcd_top; |
int menu_y=0; |
public DUBwiseView(Context context) { |
super(context); |
root=(Activity) context; |
lcd_lines=new String[main_menu_items.length]; |
for (int y=0;y<main_menu_items.length;y++) |
lcd_lines[y]=" " + main_menu_items[y]; |
// needed to get Key Events |
setFocusable(true); |
} |
public Bitmap resize_to_screen(Bitmap orig,float x_scale_,float y_scale_) |
{ |
// createa matrix for the manipulation |
Matrix matrix = new Matrix(); |
float x_scale,y_scale; |
if (y_scale_!=0f) |
y_scale= (getHeight()*y_scale_ )/orig.height(); |
else // take x_scale |
y_scale=(getWidth()*x_scale_ )/orig.width(); |
if (x_scale_!=0f) |
x_scale= (getWidth()*x_scale_ )/orig.width(); |
else |
x_scale= (getHeight()*y_scale_ )/orig.height(); |
matrix.postScale(x_scale , y_scale); |
return Bitmap.createBitmap(orig, 0, 0,(int)( orig.width()),(int)( orig.height()), matrix, true); |
} |
public boolean onKeyDown(int keyCode, KeyEvent event) |
{ |
switch ( keyCode) |
{ |
case KeyEvent.KEYCODE_DPAD_DOWN : |
menu_y++; |
break; |
case KeyEvent.KEYCODE_DPAD_UP : |
menu_y--; |
break; |
case KeyEvent.KEYCODE_DPAD_CENTER : |
root.finish(); |
break; |
} |
last_key=keyCode; |
calc_lcd(); |
invalidate(); |
return true; |
} |
@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) |
{ |
bg_img = resize_to_screen(BitmapFactory.decodeResource(getResources(), R.drawable.starfield),0f,1f); |
lcd_tiles = resize_to_screen(BitmapFactory.decodeResource(getResources(), R.drawable.lcd_green),0.05f*LCD_CHAR_COUNT,0f); |
calc_lcd(); |
} |
public void calc_lcd() |
{ |
lcd_top=getHeight()-lcd_lines.length*lcd_tiles.height(); |
Paint paint = mPaint; |
lcd_img= Bitmap.createBitmap(getWidth(),lcd_lines.length*lcd_tiles.height()+100,false); |
Canvas lcd_canvas=new Canvas(); |
lcd_canvas.setDevice(lcd_img); |
lcd_canvas.drawColor(Color.WHITE); |
int char_width=(int)(lcd_tiles.width()/LCD_CHAR_COUNT); |
for ( int lcd_line=0 ; lcd_line < lcd_lines.length ; lcd_line++) |
for (int char_pos=0;char_pos<20;char_pos++) |
{ |
int act_char=0; |
if (char_pos<lcd_lines[lcd_line].length()) |
act_char=lcd_lines[lcd_line].charAt(char_pos)-32; |
if ((menu_y==lcd_line)&& (char_pos==0)) |
act_char=30; |
lcd_canvas.clipRect(new RectF(char_pos*char_width,lcd_tiles.height()*lcd_line,(char_pos+1)*char_width,lcd_tiles.height()*(lcd_line+1)),Op.REPLACE ); |
lcd_canvas.drawBitmap(lcd_tiles,(char_pos-act_char)*(char_width),lcd_tiles.height()*(lcd_line) , paint); |
} |
} |
public void tick() |
{ |
pos--; |
pos%=bg_img.getWidth(); |
//SystemClock.sleep(50); |
} |
@Override protected void onDraw(Canvas canvas) { |
tick(); |
Paint paint = mPaint; |
paint.setAntiAlias(true); |
canvas.drawBitmap(bg_img,pos,0 , paint); |
if ((bg_img.width()+pos)<(getWidth())) |
canvas.drawBitmap(bg_img,pos+bg_img.width(),0 , paint); |
canvas.drawBitmap(lcd_img,0,lcd_top , paint); |
paint.setColor(Color.GREEN); |
canvas.drawText("LastKeyCode:"+last_key,10,10,paint); |
invalidate(); |
} |
} |
/DUBwise/src/Android/src/org/ligi/R.java |
---|
0,0 → 1,24 |
/* AUTO-GENERATED FILE. DO NOT MODIFY. |
* |
* This class was automatically generated by the |
* aapt tool from the resource data it found. It |
* should not be modified by hand. |
*/ |
package org.ligi; |
public final class R { |
public static final class attr { |
} |
public static final class drawable { |
public static final int icon=0x7f020000; |
public static final int lcd_green=0x7f020001; |
public static final int starfield=0x7f020002; |
} |
public static final class layout { |
public static final int main=0x7f030000; |
} |
public static final class string { |
public static final int app_name=0x7f040000; |
} |
} |