From 9bbca4bd6d47cdfb6d75723bc35a242b1e14e2df Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Sat, 17 Jan 2015 12:30:09 +0100 Subject: [PATCH] added save and clear image buttons --- app/src/main/java/xdsopl/robot36/Decoder.java | 3 ++- app/src/main/java/xdsopl/robot36/MainActivity.java | 10 +++++++++- app/src/main/res/menu/menu_main.xml | 12 ++++++++++++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/rs/decoder.rs | 2 +- app/src/main/rs/initialization.rsh | 2 +- 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/xdsopl/robot36/Decoder.java b/app/src/main/java/xdsopl/robot36/Decoder.java index a8b4dcc..6c45fbc 100644 --- a/app/src/main/java/xdsopl/robot36/Decoder.java +++ b/app/src/main/java/xdsopl/robot36/Decoder.java @@ -92,7 +92,7 @@ public class Decoder { } }; - public Decoder(MainActivity activity, SpectrumView spectrum, SpectrumView spectrogram,ImageView image, VUMeterView meter) { + public Decoder(MainActivity activity, SpectrumView spectrum, SpectrumView spectrogram, ImageView image, VUMeterView meter) { this.image = image; this.spectrogram = spectrogram; this.spectrum = spectrum; @@ -150,6 +150,7 @@ public class Decoder { thread.start(); } + void clear_image() { rsDecoder.invoke_reset_buffer(); } void toggle_scaling() { image.intScale ^= true; } void softer_image() { rsDecoder.invoke_incr_blur(); } void sharper_image() { rsDecoder.invoke_decr_blur(); } diff --git a/app/src/main/java/xdsopl/robot36/MainActivity.java b/app/src/main/java/xdsopl/robot36/MainActivity.java index 8c4ee58..ac9bcf5 100644 --- a/app/src/main/java/xdsopl/robot36/MainActivity.java +++ b/app/src/main/java/xdsopl/robot36/MainActivity.java @@ -46,6 +46,7 @@ import java.util.Date; public class MainActivity extends Activity { private Decoder decoder; + private ImageView image; private Bitmap bitmap; private NotificationManager manager; private ShareActionProvider share; @@ -121,10 +122,11 @@ public class MainActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); changeLayoutOrientation(getResources().getConfiguration()); + image = (ImageView)findViewById(R.id.image); decoder = new Decoder(this, (SpectrumView)findViewById(R.id.spectrum), (SpectrumView)findViewById(R.id.spectrogram), - (ImageView)findViewById(R.id.image), + image, (VUMeterView)findViewById(R.id.meter) ); manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); @@ -180,6 +182,12 @@ public class MainActivity extends Activity { @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { + case R.id.action_save_image: + storeBitmap(image.bitmap); + return true; + case R.id.action_clear_image: + decoder.clear_image(); + return true; case R.id.action_softer_image: decoder.softer_image(); return true; diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 4e8217f..a5d2391 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -8,6 +8,18 @@ android:title="Share" android:actionProviderClass="android.widget.ShareActionProvider" /> + + + + Robot36 "decoder is running + Save Image + Clear Image Toggle Auto Mode Toggle Debug Mode Toggle Analyzer diff --git a/app/src/main/rs/decoder.rs b/app/src/main/rs/decoder.rs index be3c0c2..50c8621 100644 --- a/app/src/main/rs/decoder.rs +++ b/app/src/main/rs/decoder.rs @@ -32,7 +32,7 @@ limitations under the License. #include "stft.rsh" #include "utils.rsh" -static void reset_buffer() +void reset_buffer() { vpos = 0; hpos = 0; diff --git a/app/src/main/rs/initialization.rsh b/app/src/main/rs/initialization.rsh index 34a62ae..853ae58 100644 --- a/app/src/main/rs/initialization.rsh +++ b/app/src/main/rs/initialization.rsh @@ -31,7 +31,7 @@ void initialize(float rate, int length, int iw, int ih, int sw, int sh, int sgw, maximum_height = ih; for (int i = 0; i < iw * ih; ++i) - pixel_buffer[i] = 0; + pixel_buffer[i] = rgb(0, 0, 0); init_analyzer(sw, sh, sgw, sgh);