From f57a7ad2fcfd361e75a29fe51f69f2a0770f9296 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 15 Nov 2018 12:00:41 +0200 Subject: [PATCH] Initial --- build.xml | 83 ++ nbproject/build-impl.xml | 1368 ++++++++++++++++++++++++++ nbproject/genfiles.properties | 8 + nbproject/private/private.properties | 7 + nbproject/private/private.xml | 4 + nbproject/project.properties | 140 +++ nbproject/project.xml | 10 + src/1.png | Bin 0 -> 18042 bytes src/Canv.java | 104 ++ src/HSV.java | 93 ++ src/Main.java | 58 ++ src/icon.png | Bin 0 -> 463 bytes 12 files changed, 1875 insertions(+) create mode 100644 build.xml create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/private/private.properties create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 src/1.png create mode 100644 src/Canv.java create mode 100644 src/HSV.java create mode 100644 src/Main.java create mode 100644 src/icon.png diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..2a67c3b --- /dev/null +++ b/build.xml @@ -0,0 +1,83 @@ + + + + + + Builds, tests, and runs the project . + + + diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml new file mode 100644 index 0000000..01ff0ae --- /dev/null +++ b/nbproject/build-impl.xml @@ -0,0 +1,1368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Classpath to J2ME Ant extension library (libs.j2me_ant_ext.classpath property) is not set. For example: location of mobility/modules/org-netbeans-mobility-antext.jar file in the IDE installation directory. + Platform home (platform.home property) is not set. Value of this property should be ${platform.active.description} emulator home directory location. + Platform boot classpath (platform.bootclasspath property) is not set. Value of this property should be ${platform.active.description} emulator boot classpath containing all J2ME classes provided by emulator. + Must set src.dir + Must set build.dir + Must set dist.dir + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set preprocessed.dir + + + + + + + + + + + + + + + + + + Must set build.classes.dir + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + Must set obfuscated.classes.dir + + + + Must set obfuscated.classes.dir + Must set obfuscator.srcjar + Must set obfuscator.destjar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set preverify.classes.dir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MicroEdition-Configuration: ${platform.configuration} + + MicroEdition-Configuration: ${platform.configuration} + + + + MicroEdition-Profile: ${platform.profile} + + MicroEdition-Profile: ${platform.profile} + + + + Must set dist.jad + + + + + + + + + + + + + + + + + + + + + + + + ${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.jad} + ${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.manifest} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Starting emulator with port number ${active.debug.port} + + + + + + + + + + + + Starting emulator with port number ${active.debug.port} + + + + + + + + + + + + + + + + + Must set dist.javadoc.dir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${all.configurations} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Property deployment.${deployment.method}.scriptfile not set. The property should point to an Ant script providing ${deployment.method} deployment. + + + + + + + + Classpath to Ant Contrib library (libs.ant-contrib.classpath property) is not set. + + + + + + + + + Active project configuration: @{cfg} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Property build.root.dir is not set. By default its value should be \"build\". + Property dist.root.dir is not set. By default its value should be \"dist\". + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..07e84a6 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +build.xml.data.CRC32=d7bda4a9 +build.xml.script.CRC32=64f59723 +build.xml.stylesheet.CRC32=03eab09b +nbproject/build-impl.xml.data.CRC32=d7bda4a9 +nbproject/build-impl.xml.script.CRC32=d8c21329 +nbproject/build-impl.xml.stylesheet.CRC32=a4fc63f1 diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 0000000..5a85393 --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,7 @@ +#Fri Feb 19 22:12:04 EET 2010 +netbeans.user=C:\\Users\\aNNiMON\\.netbeans\\6.9m1 +javadoc.preview=true +deployment.counter=23 +config.active= +deployment.number=0.0.22 +app-version.autoincrement=true diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..c1f155a --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..2ed6bb4 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,140 @@ +abilities=MMAPI=1.1,SATSAJCRMI=1.0,SATSACRYPTO=1.0,JSR82=1.1,NOKIAUI=1.0,JSR226=1.0,MIDP=2.1,JSR229=1.1.0,SATSAAPDU=1.0,CLDC=1.1,JSR177=1.0,JSR179=1.0.1,J2MEWS=1.0,VSCL=2.1,WMA=2.0,JSR172=1.0,SEMC_EXT_JP8=1.0,ColorScreen,OBEX=1.0,NokiaUI=1.0,JSR238=1.0,JSR239=1.0,JSR211=1.0,JSR234=1.0,ScreenWidth=240,lib/semc_ext_jp8.jar=1.0,MascotV3=1.0,JSR75=1.0,JSR184=1.1,SATSAPKI=1.0,ScreenHeight=321,ScreenColorDepth=8,JSR180=1.0.1,J2MEXMLRPC=1.0, +all.configurations=\ +application.args= +application.description= +application.description.detail= +application.name= +application.vendor=Vendor +build.classes.dir=${build.dir}/compiled +build.classes.excludes=**/*.java,**/*.form,**/*.class,**/.nbintdb,**/*.mvd,**/*.wsclient,**/*.vmd +build.dir=build/${config.active} +build.root.dir=build +debug.level=debug +deployment.copy.target=deploy +deployment.instance=default +deployment.jarurl=${dist.jar} +deployment.method=NONE +deployment.override.jarurl=false +dist.dir=dist/${config.active} +dist.jad=HSVScreenSaver.jad +dist.jar=HSVScreenSaver.jar +dist.javadoc.dir=${dist.dir}/doc +dist.root.dir=dist +extra.classpath= +filter.exclude.tests=false +filter.excludes= +filter.more.excludes=**/overview.html,**/package.html +filter.use.standard=true +jar.compress=true +javac.debug=true +javac.deprecation=false +javac.encoding=windows-1251 +javac.optimize=false +javac.source=1.3 +javac.target=1.3 +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +libs.classpath= +main.class= +main.class.class=applet +manifest.apipermissions= +manifest.file=manifest.mf +manifest.jad= +manifest.manifest= +manifest.midlets=MIDlet-1: Main,/icon.png,Main\n +manifest.others=MIDlet-Vendor: aNNiMON\nSEMC-StandbyApplication: Y\nMIDlet-Name: HSVScreenSaver\nMIDlet-Version: 1.0\n +manifest.pushregistry= +name=HSVScreenSaver +no.dependencies=false +nokiaS80.application.icon= +nsicom.application.monitorhost= +nsicom.application.runremote= +nsicom.application.runverbose= +nsicom.remoteapp.location=\\My Documents\\NetBeans Applications +nsicom.remotevm.location=\\Windows\\creme\\bin\\CrEme.exe +obfuscated.classes.dir=${build.dir}/obfuscated +obfuscation.custom= +obfuscation.level=9 +obfuscator.destjar=${build.dir}/obfuscated.jar +obfuscator.srcjar=${build.dir}/before-obfuscation.jar +platform.active=Sony_Ericsson_SDK_2_5_0_4_for_the_Java_TM__ME_Platform_Emulator_ +platform.active.description=Sony Ericsson SDK 2.5.0.4 for the Java(TM) ME Platform(Emulator) +platform.apis=JSR234-1.0,SATSA-APDU-1.0,JSR211-1.0,JSR75-1.0,J2ME-WS-1.0,J2ME-XMLRPC-1.0,JSR82-1.1,SATSA-JCRMI-1.0,SATSA-CRYPTO-1.0,JSR239-1.0,JSR179-1.0.1,MascotV3-1.0,JSR184-1.1,JSR238-1.0,MMAPI-1.1,NokiaUI-1.0,JSR229-1.1.0,SATSA-PKI-1.0,JSR180-1.0.1,JSR226-1.0,JSR177-1.0,SEMC_EXT_JP8-1.0,VSCL-2.0,VSCL-2.1,WMA-2.0,lib/semc_ext_jp8.jar +platform.bootclasspath=${platform.home}/lib/mascotv3.jar:${platform.home}/lib/jsr226.jar:${platform.home}/lib/jsr256.jar:${platform.home}/lib/satsa-crypto.jar:${platform.home}/lib/jsr229.jar:${platform.home}/lib/jsr238.jar:${platform.home}/lib/j2me-xmlrpc.jar:${platform.home}/lib/jsr211.jar:${platform.home}/lib/vscl21.jar:${platform.home}/lib/satsa-jcrmi.jar:${platform.home}/lib/jsr082.jar:${platform.home}/lib/satsa-apdu.jar:${platform.home}/lib/jsr184.jar:${platform.home}/lib/nokiaext.jar:${platform.home}/lib/jsr239.jar:${platform.home}/lib/jsr75.jar:${platform.home}/lib/jsr179.jar:${platform.home}/lib/satsa-pki.jar:${platform.home}/lib/jsr180.jar:${platform.home}/lib/vscl.jar:${platform.home}/lib/mmapi.jar:${platform.home}/lib/j2me-ws.jar:${platform.home}/lib/wma20.jar:${platform.home}/lib/jsr234.jar:${platform.home}/lib/semc_ext_jp8.jar:${platform.home}/lib/cldcapi11.jar:${platform.home}/lib/midpapi20.jar +platform.configuration=CLDC-1.1 +platform.device=SonyEricsson_JP8_240x320_Emu +platform.fat.jar=true +platform.profile=MIDP-2.0 +platform.trigger=CLDC +platform.type=UEI-1.0.1 +preprocessed.dir=${build.dir}/preprocessed +preverify.classes.dir=${build.dir}/preverified +preverify.sources.dir=${build.dir}/preverifysrc +resources.dir=resources +ricoh.application.email= +ricoh.application.fax= +ricoh.application.icon= +ricoh.application.target-jar= +ricoh.application.telephone= +ricoh.application.uid=58974906 +ricoh.application.version= +ricoh.dalp.application-desc.auto-run=false +ricoh.dalp.application-desc.energy-save= +ricoh.dalp.application-desc.exec-auth= +ricoh.dalp.application-desc.visible=true +ricoh.dalp.argument= +ricoh.dalp.codebase= +ricoh.dalp.display-mode.color=true +ricoh.dalp.display-mode.is-4line-support=false +ricoh.dalp.display-mode.is-hvga-support=true +ricoh.dalp.display-mode.is-vga-support=false +ricoh.dalp.display-mode.is-wvga-support=false +ricoh.dalp.information.abbreviation= +ricoh.dalp.information.icon.basepath= +ricoh.dalp.information.icon.location= +ricoh.dalp.information.is-icon-used=true +ricoh.dalp.install.destination=hdd +ricoh.dalp.install.mode.auto=true +ricoh.dalp.install.work-dir=hdd +ricoh.dalp.is-managed=true +ricoh.dalp.resources.dsdk.version=2.0 +ricoh.dalp.resources.jar.basepath= +ricoh.dalp.resources.jar.version= +ricoh.dalp.version= +ricoh.icon.invert=false +ricoh.platform.target.version= +run.cmd.options= +run.jvmargs= +run.method=STANDARD +run.security.domain=trusted +run.use.security.domain=false +savaje.application.icon= +savaje.application.icon.focused= +savaje.application.icon.small= +savaje.application.uid=TBD +savaje.bundle.base= +savaje.bundle.debug=false +savaje.bundle.debug.port= +semc.application.caps= +semc.application.icon= +semc.application.icon.count= +semc.application.icon.splash= +semc.application.icon.splash.installonly=false +semc.application.uid=E5342786 +semc.certificate.path= +semc.private.key.password= +semc.private.key.path= +sign.alias= +sign.enabled=false +sign.keystore= +src.dir=src +use.emptyapis=true +use.preprocessor=true diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..3053036 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,10 @@ + + + org.netbeans.modules.kjava.j2meproject + + + HSVScreenSaver + 1.6 + + + diff --git a/src/1.png b/src/1.png new file mode 100644 index 0000000000000000000000000000000000000000..42fdec71bdc709c57e4a28f0cf57d5ed9701fde7 GIT binary patch literal 18042 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 literal 0 HcmV?d00001 diff --git a/src/Canv.java b/src/Canv.java new file mode 100644 index 0000000..3dc26cd --- /dev/null +++ b/src/Canv.java @@ -0,0 +1,104 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +import com.nokia.mid.ui.DeviceControl; +import javax.microedition.lcdui.*; + +/** + * @author aNNiMON + */ +public class Canv extends Canvas implements Runnable { + + private int w,h,step; + private boolean stb, ltb, itb, light; + private long time; + private HSV hsv; + private Thread thr; + + public Canv() { + setFullScreenMode(true); + w = getWidth(); + h = getHeight(); + stb = false; + step = 2; + checkResolution(Main.midlet.img); + hsv = new HSV(); + thr = new Thread(this); + thr.start(); + } + + public void paint(Graphics g) { + g.setColor(0); + g.fillRect(0, 0, w, h); + g.drawImage(Main.midlet.img, w/2, h/2, 3); + if(stb) { + drawUI(g); + g.setColor(0xE8E8E8); + g.drawString("Step "+String.valueOf(step), w/2, h-2, 33); + if(System.currentTimeMillis()-time>=3000) stb=false; + repaint(); + } + if(ltb) { + drawUI(g); + g.setColor(0xE8E8E8); + g.drawString("Lights "+String.valueOf(light), w/2, h-2, 33); + if(System.currentTimeMillis()-time>=3000) ltb=false; + repaint(); + } + if(itb) { + drawUI(g); + g.setColor(0xE8E8E8); + g.drawString("Author: aNNiMON", w/2, h-2, 33); + if(System.currentTimeMillis()-time>=3000) itb=false; + repaint(); + } + } + + private void drawUI(Graphics g) { + Font fnt = Font.getFont(0, Font.STYLE_BOLD, Font.SIZE_MEDIUM); + int fh = fnt.getHeight()+4; + int[] ui = new int[(w-10)*fh]; + for(int i=0; i30) step=1; stb = true;} + if(ga==DOWN) {step--; if(step<1) step=30; stb = true;} + if(ga==FIRE) {light=!light; ltb = true;} + if(key==KEY_STAR) {itb = true;} + if(key==KEY_NUM0) Main.midlet.destroyApp(true); + time = System.currentTimeMillis(); + } + + protected void keyRepeated(int key) { + keyPressed(key); + } + + private void checkResolution(Image img) { + if(img.getWidth()>w && img.getHeight()>h) { + Image temp = Image.createImage(w, h); + Graphics g = temp.getGraphics(); + g.drawImage(img, w/2, h/2, 3); + Main.midlet.img=temp; + } + } + + public void run() { + while(true) { + hsv.hsb(step); + repaint(); + if(light) DeviceControl.setLights(0, 100); + try { + Thread.sleep(100); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } +} \ No newline at end of file diff --git a/src/HSV.java b/src/HSV.java new file mode 100644 index 0000000..1f3935c --- /dev/null +++ b/src/HSV.java @@ -0,0 +1,93 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +import javax.microedition.lcdui.Image; + +/** + * + * @author aNNiMON + */ +public class HSV { + + private int[] pixel; + private int wdh, hgt; + + public HSV() { + + } + + public void hsb(int ch) { + Image img = Main.midlet.img; + wdh = img.getWidth(); + hgt = img.getHeight(); + pixel = new int[wdh * hgt]; + int[] lineRGB = new int[wdh]; + for (int y = 0; y < hgt; y++) { + img.getRGB(lineRGB, 0, wdh, 0, y, wdh, 1); + System.arraycopy(lineRGB, 0, pixel, y*wdh, lineRGB.length); + } + float[] hsb = new float[3]; + for (int io = 0; io < pixel.length; io++) { + int qa = (pixel[io] >> 24) & 0xff; + int qr = (pixel[io] >> 16) & 0xff; + int qg = (pixel[io] >> 8) & 0xff; + int qb = pixel[io] & 0xff; + hsb = RGBtoHSV(qr, qg, qb, hsb); + hsb[0] = hsb[0] + ch; + pixel[io] = (qa << 24) | HSVtoRGB(hsb[0], hsb[1], hsb[2]); + } + Main.midlet.img = Image.createRGBImage(pixel, wdh, hgt, false); + } + + private int HSVtoRGB(float h, float s, float v) { + float qr = 0, qg = 0, qb = 0; + int r = 0, g = 0, b = 0; + if(s==0.0 && h==-1.0) return ((int)v << 16) | ((int)v << 8) | (int)v; + int Hi = (int) ((h / 60) % 6); + float f = (float) (h / 60 - (float)Math.floor(h/60)); + float p = (float) ((float)v*(1.0f - (float)s)); + float q = (float) ((float)v*(1.0f - (float)f*(float)s)); + float t = (float) ((float)v*(1.0f - (s*(1.0-f)))); + switch(Hi) { + case 0: qr = v; qg = t; qb = p; break; + case 1: qr = q; qg = v; qb = p; break; + case 2: qr = p; qg = v; qb = t; break; + case 3: qr = p; qg = q; qb = v; break; + case 4: qr = t; qg = p; qb = v; break; + case 5: qr = v; qg = p; qb = q; break; + } + r = (int) (255 * qr); g = (int) (255 * qg); b = (int) (255 * qb); + return (r << 16) | (g << 8) | b; + } + + private float[] RGBtoHSV(int qr, int qg, int qb, float[] hsv) { + float h = 0, s, v; + if (hsv == null) { + hsv = new float[3]; + } + float r = (float) qr/255; float g = (float) qg/255; float b = (float) qb/255; + float max = (r > g) ? r : g; + if (b > max) max = b; + float min = (r < g) ? r : g; + if (b < min) min = b; + // hue + if(max==min) h=0; + if(max==r && g>=b) h = 60 * ((g-b)/(max-min)); + if(max==r && g_<", 0, 0, 20); + G.setColor(0x00FF00); + G.drawString("Закинь в меня -_-", 50, 50, 17); + G.setColor(0x0000FF); + G.drawString("картинку 1.png =)", 100, 100, 40); + } + } + } + } + dsp.setCurrent(new Canv()); + } + + public void pauseApp() { + } + + public void destroyApp(boolean un) { + notifyDestroyed(); + } +} diff --git a/src/icon.png b/src/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..661451bba6d3e2585b936a23fd400d01f23893b9 GIT binary patch literal 463 zcmV;=0WkiFP)X6$Ws&q~DiU%C9E3&(mj;I#Y-*4uhiC{w3M`07aLJ-*2+ARv zbVzh7kZ^5rh$twBczq{6~@W=i+f=vUYfD2?RRrQFVwqyoT5vdf^V)a^?r^Ajz_>6%zSm+2y z_7rUq@gPVCN$>&+IE#a4;HRI@T0w-0O%M&{w2)+F3x*7HVpki*U5VxIfT6B05(hd+ z)@tf?^V0EwpfvlBu^pX$a3Bz-N@_470VMC1FwKB}PBXPtz&J zy>6>;nX?*^8G$lbQkJZDEK8ii_MeX88x$A6ygkXk)+Z?GAw1UIl92!a002ovPDHLk FV1nRa&Bp)$ literal 0 HcmV?d00001