diff --git a/android/assets/skin/default.fnt b/android/assets/skin/default.fnt new file mode 100644 index 0000000..433f1e5 --- /dev/null +++ b/android/assets/skin/default.fnt @@ -0,0 +1,101 @@ +info face="Droid Sans" size=17 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=20 base=18 scaleW=256 scaleH=128 pages=1 packed=0 +page id=0 file="default.png" +chars count=96 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0 +char id=124 x=0 y=0 width=6 height=20 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=106 x=6 y=0 width=9 height=20 xoffset=-4 yoffset=3 xadvance=4 page=0 chnl=0 +char id=81 x=15 y=0 width=15 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 +char id=74 x=30 y=0 width=11 height=19 xoffset=-5 yoffset=3 xadvance=4 page=0 chnl=0 +char id=125 x=41 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 +char id=123 x=51 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 +char id=93 x=61 y=0 width=8 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 +char id=91 x=69 y=0 width=8 height=18 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=0 +char id=41 x=77 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 +char id=40 x=86 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 +char id=64 x=95 y=0 width=18 height=17 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0 +char id=121 x=113 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 +char id=113 x=126 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 +char id=112 x=139 y=0 width=13 height=17 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=0 +char id=103 x=152 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 +char id=38 x=165 y=0 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=0 +char id=37 x=181 y=0 width=18 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0 +char id=36 x=199 y=0 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=63 x=211 y=0 width=11 height=16 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=0 +char id=33 x=222 y=0 width=7 height=16 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 +char id=48 x=229 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=57 x=242 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=56 x=0 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=54 x=13 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=53 x=26 y=20 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=51 x=38 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=100 x=51 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=98 x=64 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=85 x=77 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 +char id=83 x=91 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 +char id=79 x=104 y=20 width=15 height=16 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 +char id=71 x=119 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 +char id=67 x=133 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 +char id=127 x=146 y=20 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 +char id=35 x=158 y=20 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0 +char id=92 x=173 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 +char id=47 x=184 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0 +char id=59 x=195 y=20 width=8 height=15 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0 +char id=55 x=203 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=52 x=216 y=20 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=50 x=230 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=49 x=243 y=20 width=9 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=116 x=0 y=36 width=10 height=15 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=0 +char id=108 x=10 y=36 width=6 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 +char id=107 x=16 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 +char id=105 x=28 y=36 width=7 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0 +char id=104 x=35 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 +char id=102 x=47 y=36 width=11 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 +char id=90 x=58 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=89 x=71 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 +char id=88 x=84 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=87 x=98 y=36 width=19 height=15 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=0 +char id=86 x=117 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=84 x=131 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0 +char id=82 x=144 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 +char id=80 x=157 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=78 x=169 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0 +char id=77 x=183 y=36 width=17 height=15 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0 +char id=76 x=200 y=36 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 +char id=75 x=211 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 +char id=73 x=224 y=36 width=10 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0 +char id=72 x=234 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 +char id=70 x=0 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 +char id=69 x=11 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0 +char id=68 x=22 y=51 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0 +char id=66 x=36 y=51 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0 +char id=65 x=49 y=51 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0 +char id=58 x=64 y=51 width=7 height=13 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=0 +char id=117 x=71 y=51 width=12 height=13 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0 +char id=115 x=83 y=51 width=11 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 +char id=111 x=94 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 +char id=101 x=107 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 +char id=99 x=120 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 +char id=97 x=132 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 +char id=60 x=144 y=51 width=13 height=12 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0 +char id=122 x=157 y=51 width=11 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0 +char id=120 x=168 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 +char id=119 x=181 y=51 width=17 height=12 xoffset=-3 yoffset=6 xadvance=12 page=0 chnl=0 +char id=118 x=198 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 +char id=114 x=211 y=51 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0 +char id=110 x=221 y=51 width=12 height=12 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0 +char id=109 x=233 y=51 width=17 height=12 xoffset=-2 yoffset=6 xadvance=15 page=0 chnl=0 +char id=94 x=0 y=66 width=13 height=11 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=62 x=13 y=66 width=13 height=11 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0 +char id=42 x=26 y=66 width=13 height=10 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0 +char id=43 x=39 y=66 width=13 height=10 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0 +char id=61 x=52 y=66 width=13 height=8 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=0 +char id=39 x=65 y=66 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0 +char id=34 x=71 y=66 width=9 height=8 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=0 +char id=44 x=80 y=66 width=8 height=7 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=0 +char id=126 x=88 y=66 width=13 height=6 xoffset=-3 yoffset=8 xadvance=9 page=0 chnl=0 +char id=46 x=101 y=66 width=7 height=6 xoffset=-2 yoffset=13 xadvance=4 page=0 chnl=0 +char id=96 x=108 y=66 width=8 height=6 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0 +char id=45 x=116 y=66 width=9 height=5 xoffset=-3 yoffset=10 xadvance=5 page=0 chnl=0 +char id=95 x=125 y=66 width=13 height=4 xoffset=-4 yoffset=17 xadvance=6 page=0 chnl=0 +kernings count=-1 \ No newline at end of file diff --git a/android/assets/skin/default.png b/android/assets/skin/default.png new file mode 100644 index 0000000..ca368e0 Binary files /dev/null and b/android/assets/skin/default.png differ diff --git a/android/assets/skin/uiskin.atlas b/android/assets/skin/uiskin.atlas new file mode 100644 index 0000000..a51f7bf --- /dev/null +++ b/android/assets/skin/uiskin.atlas @@ -0,0 +1,199 @@ +uiskin.png +size: 256,128 +format: RGBA8888 +filter: Linear,Linear +repeat: none +check-off + rotate: false + xy: 11, 5 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 +textfield + rotate: false + xy: 11, 5 + size: 14, 14 + split: 3, 3, 3, 3 + orig: 14, 14 + offset: 0, 0 + index: -1 +check-on + rotate: false + xy: 125, 35 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 +cursor + rotate: false + xy: 23, 1 + size: 3, 3 + split: 1, 1, 1, 1 + orig: 3, 3 + offset: 0, 0 + index: -1 +default + rotate: false + xy: 1, 50 + size: 254, 77 + orig: 254, 77 + offset: 0, 0 + index: -1 +default-pane + rotate: false + xy: 11, 1 + size: 5, 3 + split: 1, 1, 1, 1 + orig: 5, 3 + offset: 0, 0 + index: -1 +default-rect-pad + rotate: false + xy: 11, 1 + size: 5, 3 + split: 1, 1, 1, 1 + orig: 5, 3 + offset: 0, 0 + index: -1 +default-pane-noborder + rotate: false + xy: 170, 44 + size: 1, 1 + split: 0, 0, 0, 0 + orig: 1, 1 + offset: 0, 0 + index: -1 +default-rect + rotate: false + xy: 38, 25 + size: 3, 3 + split: 1, 1, 1, 1 + orig: 3, 3 + offset: 0, 0 + index: -1 +default-rect-down + rotate: false + xy: 170, 46 + size: 3, 3 + split: 1, 1, 1, 1 + orig: 3, 3 + offset: 0, 0 + index: -1 +default-round + rotate: false + xy: 112, 29 + size: 12, 20 + split: 5, 5, 5, 4 + pad: 4, 4, 1, 1 + orig: 12, 20 + offset: 0, 0 + index: -1 +default-round-down + rotate: false + xy: 99, 29 + size: 12, 20 + split: 5, 5, 5, 4 + pad: 4, 4, 1, 1 + orig: 12, 20 + offset: 0, 0 + index: -1 +default-round-large + rotate: false + xy: 57, 29 + size: 20, 20 + split: 5, 5, 5, 4 + orig: 20, 20 + offset: 0, 0 + index: -1 +default-scroll + rotate: false + xy: 78, 29 + size: 20, 20 + split: 2, 2, 2, 2 + orig: 20, 20 + offset: 0, 0 + index: -1 +default-select + rotate: false + xy: 29, 29 + size: 27, 20 + split: 4, 14, 4, 4 + orig: 27, 20 + offset: 0, 0 + index: -1 +default-select-selection + rotate: false + xy: 26, 16 + size: 3, 3 + split: 1, 1, 1, 1 + orig: 3, 3 + offset: 0, 0 + index: -1 +default-slider + rotate: false + xy: 29, 20 + size: 8, 8 + split: 2, 2, 2, 2 + orig: 8, 8 + offset: 0, 0 + index: -1 +default-slider-knob + rotate: false + xy: 1, 1 + size: 9, 18 + orig: 9, 18 + offset: 0, 0 + index: -1 +default-splitpane + rotate: false + xy: 17, 1 + size: 5, 3 + split: 0, 5, 0, 0 + orig: 5, 3 + offset: 0, 0 + index: -1 +default-splitpane-vertical + rotate: false + xy: 125, 29 + size: 3, 5 + split: 0, 0, 0, 5 + orig: 3, 5 + offset: 0, 0 + index: -1 +default-window + rotate: false + xy: 1, 20 + size: 27, 29 + split: 4, 3, 20, 3 + orig: 27, 29 + offset: 0, 0 + index: -1 +selection + rotate: false + xy: 174, 48 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 +tree-minus + rotate: false + xy: 140, 35 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 +tree-plus + rotate: false + xy: 155, 35 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 +white + rotate: false + xy: 129, 31 + size: 3, 3 + orig: 3, 3 + offset: 0, 0 + index: -1 \ No newline at end of file diff --git a/android/assets/skin/uiskin.json b/android/assets/skin/uiskin.json new file mode 100644 index 0000000..c4a3325 --- /dev/null +++ b/android/assets/skin/uiskin.json @@ -0,0 +1,71 @@ +{ +com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } }, +com.badlogic.gdx.graphics.Color: { + green: { a: 1, b: 0, g: 1, r: 0 }, + white: { a: 1, b: 1, g: 1, r: 1 }, + red: { a: 1, b: 0, g: 0, r: 1 }, + black: { a: 1, b: 0, g: 0, r: 0 }, + blue: {a: 1, b: 1, g: 0, r: 0 } +}, +com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable: { + dialogDim: { name: white, color: { r: 0, g: 0, b: 0, a: 0.45 } }, +}, +com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: { + default: { down: default-round-down, up: default-round }, + toggle: { down: default-round-down, checked: default-round-down, up: default-round } +}, +com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { + default: { down: default-round-down, up: default-round, font: default-font, fontColor: white, overFontColor: blue}, + toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red } +}, +com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: { + default: { vScroll: default-scroll, hScrollKnob: default-round-large, background: default-rect, hScroll: default-scroll, vScrollKnob: default-round-large } +}, +com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: { + default: { + font: default-font, fontColor: white, background: default-select, + scrollStyle: default, + listStyle: { font: default-font, selection: default-select-selection } + } +}, +com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: { + default-vertical: { handle: default-splitpane-vertical }, + default-horizontal: { handle: default-splitpane } +}, +com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: { + default: { titleFont: default-font, background: default-window, titleFontColor: white }, + dialog: { titleFont: default-font, background: default-window, titleFontColor: white, stageBackground: dialogDim } +}, +com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: { + default-horizontal: { background: default-slider, knob: default-slider-knob }, + default-vertical: { background: default-slider, knob: default-round-large } +}, +com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: { + default-horizontal: { background: default-slider, knob: default-slider-knob }, + default-vertical: { background: default-slider, knob: default-round-large } +}, +com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { + default: { font: default-font, fontColor: white } +}, +com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: { + default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor } +}, +com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: { + default: { checkboxOn: check-on, checkboxOff: check-off, font: default-font, fontColor: white } +}, +com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: { + default: { fontColorUnselected: white, selection: selection, fontColorSelected: white, font: default-font } +}, +com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle: { + default: { background: default-pane, knob: default-round-large } +}, +com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle: { + default: { minus: tree-minus, plus: tree-plus, selection: default-select-selection } +}, +com.badlogic.gdx.scenes.scene2d.ui.TextTooltip$TextTooltipStyle: { + default: { + label: { font: default-font, fontColor: white }, + background: default-pane + } +}, +} \ No newline at end of file diff --git a/android/assets/skin/uiskin.png b/android/assets/skin/uiskin.png new file mode 100644 index 0000000..c1e5f1a Binary files /dev/null and b/android/assets/skin/uiskin.png differ diff --git a/core/src/com/jw/lightwallet/screens/AbstractScreen.java b/core/src/com/jw/lightwallet/screens/AbstractScreen.java index ca4740e..448dc40 100644 --- a/core/src/com/jw/lightwallet/screens/AbstractScreen.java +++ b/core/src/com/jw/lightwallet/screens/AbstractScreen.java @@ -9,8 +9,8 @@ import com.jw.lightwallet.LightWallet; public class AbstractScreen implements Screen { protected LightWallet game; protected BitmapFont font; - protected float w; - protected float h; + protected int w; + protected int h; protected float aspect; protected float accumulator; @@ -31,7 +31,7 @@ public class AbstractScreen implements Screen { @Override public void render(float delta) { - Gdx.gl.glClearColor(1, 0, 0, 1); + Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); accumulator = accumulator + delta; } diff --git a/core/src/com/jw/lightwallet/screens/DaemonView.java b/core/src/com/jw/lightwallet/screens/DaemonView.java new file mode 100644 index 0000000..e69eb17 --- /dev/null +++ b/core/src/com/jw/lightwallet/screens/DaemonView.java @@ -0,0 +1,70 @@ +package com.jw.lightwallet.screens; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.scenes.scene2d.ui.Image; +import com.badlogic.gdx.scenes.scene2d.ui.Label; +import com.badlogic.gdx.scenes.scene2d.ui.Skin; +import com.badlogic.gdx.scenes.scene2d.ui.Table; +import com.jw.lightwallet.utils.Constants; +import com.jw.lightwallet.utils.DaemonValues; + +public class DaemonView { + + Table daemonlayout; + + Label nodelabel; + Label nodevalue; + Label statuslabel; + Label statusvalue; + Label heightlabel; + Label heightvalue; + Label hashratelabel; + Label hashratevalue; + Label rewardlabel; + Label rewardvalue; + + + public DaemonView () { + + Skin uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json")); + + daemonlayout = new Table(); + + + + nodelabel = new Label("Node address: ", uiSkin); + nodevalue = new Label(null, uiSkin); + daemonlayout.add(nodelabel).pad(20); + daemonlayout.add(nodevalue).pad(20).row(); + + statuslabel = new Label("Node status: ", uiSkin); + statusvalue = new Label(null, uiSkin); + daemonlayout.add(statuslabel).pad(20); + daemonlayout.add(statusvalue).pad(20).row(); + + heightlabel = new Label("Block height: ", uiSkin); + heightvalue = new Label(null, uiSkin); + daemonlayout.add(heightlabel).pad(20); + daemonlayout.add(heightvalue).pad(20).row(); + + hashratelabel = new Label("Network hashrate: ", uiSkin); + hashratevalue = new Label(null, uiSkin); + daemonlayout.add(hashratelabel).pad(20); + daemonlayout.add(hashratevalue).pad(20).row(); + + rewardlabel = new Label("Last reward: ", uiSkin); + rewardvalue = new Label(null, uiSkin); + daemonlayout.add(rewardlabel).pad(20); + daemonlayout.add(rewardvalue).pad(20).row(); + } + + public void Update(DaemonValues daemonvalues) { + nodevalue.setText(Constants.moneroclub); + statusvalue.setText(daemonvalues.getStatus()); + heightvalue.setText(String.valueOf(daemonvalues.getBlockheight())); + hashratevalue.setText(String.valueOf(daemonvalues.getHashrate())); + rewardvalue.setText(String.valueOf(daemonvalues.getLastblockreward())); + } + +} diff --git a/core/src/com/jw/lightwallet/screens/HistoryView.java b/core/src/com/jw/lightwallet/screens/HistoryView.java new file mode 100644 index 0000000..4614687 --- /dev/null +++ b/core/src/com/jw/lightwallet/screens/HistoryView.java @@ -0,0 +1,5 @@ +package com.jw.lightwallet.screens; + +public class HistoryView { + +} diff --git a/core/src/com/jw/lightwallet/screens/MainScreen.java b/core/src/com/jw/lightwallet/screens/MainScreen.java index 4cd71d5..9734166 100644 --- a/core/src/com/jw/lightwallet/screens/MainScreen.java +++ b/core/src/com/jw/lightwallet/screens/MainScreen.java @@ -1,37 +1,38 @@ package com.jw.lightwallet.screens; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.scenes.scene2d.ui.Container; import com.badlogic.gdx.scenes.scene2d.ui.Image; -import com.badlogic.gdx.scenes.scene2d.ui.Label; +import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.utils.Timer; import com.jw.lightwallet.LightWallet; import com.jw.lightwallet.daemon.DaemonRPC; +import com.jw.lightwallet.utils.Constants; import com.jw.lightwallet.utils.DaemonValues; + public class MainScreen extends AbstractScreen { // Interface classes - DaemonRPC daemonrpc; - DaemonValues daemonvalues; + DaemonRPC daemonrpc; + DaemonValues daemonvalues; // Layout stuff - Table screenlayout; - TextButton daemonbutton; - TextButton walletbutton; - // Daemon layout - Table daemonlayout; - Image logo; - Label statuslabel; - Label statusvalue; - Label blockheightlabel; - Label blockheightvalue; - Label difflabel; - Label diffvalue; - Label hashratelabel; - Label hashratevalue; - Label lastblocktimelabel; - Label lastblocktimevalue; - Label rewardlabel; - Label rewardvalue; + Stage stage; + Table screenlayout; + + Image logo; + Texture logotex; + Table buttonrow; + TextButton daemonbutton; + TextButton walletbutton; + TextButton transferbutton; + TextButton txhistorybutton; + Table viewcontainer; + DaemonView daemonview; + // Wallet layout // Transfer layout // Tx history layout @@ -40,11 +41,41 @@ public class MainScreen extends AbstractScreen { public MainScreen(LightWallet game) { super(game); + timer = new Timer(); + + Skin uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json")); + daemonrpc = new DaemonRPC(); daemonvalues = new DaemonValues(); - daemonrpc.getinfo(daemonvalues); + stage = new Stage(); + + screenlayout = new Table(); + viewcontainer = new Table(); + + logo = new Image(new Texture(Gdx.files.internal("logo.png"))); + + buttonrow = new Table(); + daemonbutton = new TextButton("Daemon", uiSkin); + walletbutton = new TextButton("Wallet", uiSkin); + transferbutton = new TextButton("Transfer", uiSkin); + txhistorybutton = new TextButton("History", uiSkin); + + buttonrow.add(daemonbutton).width(Constants.WORLD_WIDTH/4); + buttonrow.add(walletbutton).width(Constants.WORLD_WIDTH/4); + buttonrow.add(transferbutton).width(Constants.WORLD_WIDTH/4); + buttonrow.add(txhistorybutton).width(Constants.WORLD_WIDTH/4); + screenlayout.add(buttonrow).row(); + + screenlayout.add(logo).center().row(); + + daemonview = new DaemonView(); + viewcontainer.add(daemonview.daemonlayout).expand().bottom(); + screenlayout.add(viewcontainer); + + screenlayout.setFillParent(true); + stage.addActor(screenlayout); } public void show() { @@ -53,14 +84,18 @@ public class MainScreen extends AbstractScreen { timer.scheduleTask(new Timer.Task() { @Override public void run() { - System.out.print(daemonvalues.getBlockheight()); + daemonrpc.getinfo(daemonvalues); + daemonview.Update(daemonvalues); } - }, 5f, 5f); + }, 1f, 5f); } public void render(float delta) { super.render(delta); + + stage.draw(); + stage.act(delta); } diff --git a/core/src/com/jw/lightwallet/screens/TransactionView.java b/core/src/com/jw/lightwallet/screens/TransactionView.java new file mode 100644 index 0000000..b21943b --- /dev/null +++ b/core/src/com/jw/lightwallet/screens/TransactionView.java @@ -0,0 +1,5 @@ +package com.jw.lightwallet.screens; + +public class TransactionView { + +} diff --git a/core/src/com/jw/lightwallet/screens/WalletView.java b/core/src/com/jw/lightwallet/screens/WalletView.java new file mode 100644 index 0000000..c0d9af4 --- /dev/null +++ b/core/src/com/jw/lightwallet/screens/WalletView.java @@ -0,0 +1,5 @@ +package com.jw.lightwallet.screens; + +public class WalletView { + +} diff --git a/core/src/com/jw/lightwallet/utils/Constants.java b/core/src/com/jw/lightwallet/utils/Constants.java index 9c9c5bb..f5c9001 100644 --- a/core/src/com/jw/lightwallet/utils/Constants.java +++ b/core/src/com/jw/lightwallet/utils/Constants.java @@ -3,5 +3,10 @@ package com.jw.lightwallet.utils; public class Constants { public static final int DESKTOP_WIDTH = 800; public static final int DESKTOP_HEIGHT = 600; + + public static final float WORLD_WIDTH = 800; + public static final float WORLD_HEIGHT = 600; + + public static final String moneroclub = "http://node.monoerclub.com/json_rpc:8880"; } diff --git a/core/src/com/jw/lightwallet/utils/DaemonValues.java b/core/src/com/jw/lightwallet/utils/DaemonValues.java index 0b1d92b..7b148a3 100644 --- a/core/src/com/jw/lightwallet/utils/DaemonValues.java +++ b/core/src/com/jw/lightwallet/utils/DaemonValues.java @@ -35,8 +35,8 @@ public class DaemonValues { this.lastblocktime = lastblocktime; } - public int getLastblockreward() { - return lastblockreward; + public float getLastblockreward() { + return lastblockreward/1e12f; } public void setLastblockreward(int lastblockreward) { this.lastblockreward = lastblockreward;