Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 79 → Rev 80

/DUBwise/src/MKMiniCanvas.java
11,6 → 11,8
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
 
import javax.microedition.media.*;
import javax.microedition.media.control.*;
 
public class MKMiniCanvas
extends Canvas
17,6 → 19,12
implements Runnable
{
 
private boolean debug_screen=false;
private byte[] debug_screen_sequence={KEY_POUND,KEY_NUM4,KEY_NUM2};
private byte debug_screen_sequence_pos=0;
String debug_msg="";
 
// name/handle for the recordStore to memorize some stuff
private final static String RECORD_STORE_NAME="DUBSETT";
32,6 → 40,8
private String err="";
private DUBwise root;
 
private UFOProber ufo_prober;
 
byte[] settings_arr;
 
public boolean do_vibra=true;
243,8 → 253,8
 
bt_scanner = new BTSearcher();
params_editor = new MKParamsEditor(this);
ufo_prober = new UFOProber();
 
 
mk = new MKCommunicator(root);
mk_stat= new MKStatistics(mk);
 
470,6 → 480,29
 
// drawing section
public void paint(Graphics g) {
if (debug_screen)
{
g.setColor(0x0000FF);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(0xFFFFFF);
String tmp_str="";
y_off=0;
for(int tmp_i=0;tmp_i<debug_msg.length();tmp_i++)
{
if ((debug_msg.charAt(tmp_i)=='\r')||(debug_msg.charAt(tmp_i)=='\n')) {
g.drawString(tmp_str,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=g.getFont().getHeight();
tmp_str="";
}
else
tmp_str+=debug_msg.charAt(tmp_i);
}
g.drawString(tmp_str,0,y_off,Graphics.TOP | Graphics.LEFT);
 
return;
}
 
if (firstrun)
{
if (fullscreen) setFullScreenMode(fullscreen);
617,6 → 650,8
 
case STATEID_MAINMENU:
g.drawString("probed_device" + ufo_prober.probe_result + " by " + ufo_prober.reply,0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.drawString("MK-Connection(" + (mk.connected?("open"+((System.currentTimeMillis()- mk.connection_start_time)/1000)+"s"):"close")+"):",0,y_off,Graphics.TOP | Graphics.LEFT);
y_off+=spacer;
g.setFont(f2);
726,12 → 761,47
 
} catch (Exception e) {}
g.setClip(0,0,this.getWidth(),this.getHeight());
g.drawImage(cam_img,-cam_img_off,-cam_img_off,g.TOP | g.LEFT);
cam_img_off++;
cam_img_off%=cam_img.getWidth();
}
 
Player mPlayer;
VideoControl mVideoControl;
Image cam_img;
int cam_img_off=0;
private void connect_mk(String url,String name)
{
mk.connect_to(url,name);
// ufo_prober.bluetooth_probe(url);
// mk.connect_to(url,name);
try
{
debug_msg+="creating player\n";
mPlayer = Manager.createPlayer("capture://video?encoding=png&width=2048&height=1536");
 
debug_msg+="realizing player\n";
mPlayer.realize();
debug_msg+="get_videocontrol\n";
 
mVideoControl = (VideoControl)mPlayer.getControl("VideoControl");
 
debug_msg+="switching Canvas\n";
mVideoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
 
debug_msg+="get snap\n";
byte[] raw = mVideoControl.getSnapshot(null);
 
debug_msg+="making img\n";
cam_img = Image.createImage(raw, 0, raw.length);
}
catch ( Exception e)
{
debug_msg+=e.toString();
}
 
 
}
 
public void draw_graph_part(Graphics g,int x,int y1,int y2)
754,6 → 824,9
g.fillRect(x,line_middle_y-y2,1,y2-y1);
}
 
 
 
}
 
 
926,7 → 999,47
public void keyPressed(int keyCode)
{
if (keyCode==KEY_NUM0)
{
try
{
 
debug_msg+="get snap\n";
byte[] raw = mVideoControl.getSnapshot(null);
debug_msg+="making img\n";
cam_img = Image.createImage(raw, 0, raw.length);
}
catch ( Exception e)
{
debug_msg+=e.toString();
}
 
}
 
if (!debug_screen)
{
if (keyCode==debug_screen_sequence[debug_screen_sequence_pos])
{
debug_screen_sequence_pos++;
if(debug_screen_sequence_pos==debug_screen_sequence.length)
{
debug_screen=true;
debug_screen_sequence_pos=0;
}
}
else
debug_screen_sequence_pos=0;
}
else
{
if (keyCode==KEY_STAR)
debug_screen=false;
}
 
if (keyCode==KEY_STAR)
{
if (state==STATEID_EDIT_PARAMS)