Attempt to repaint entire windows on resize and window move. Updated

window move detection to use proper window position variables.
dev
sigonasr2 7 years ago
parent 2e356bb986
commit 1d1e7b1910
  1. BIN
      sigIRCv2.jar
  2. 24
      src/sig/MyPanel.java
  3. 26
      src/sig/ScrollingText.java
  4. 22
      src/sig/UpdateEvent.java
  5. 3
      src/sig/sigIRC.java

Binary file not shown.

@ -1,9 +1,11 @@
package sig;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.MouseInfo;
import java.awt.PointerInfo;
import java.awt.Toolkit;
@ -166,23 +168,17 @@ public class MyPanel extends JPanel implements MouseListener, ActionListener, Mo
@Override
public void componentResized(ComponentEvent ev) {
sigIRC.windowX = sigIRC.window.getX();
sigIRC.windowY = sigIRC.window.getY();
sigIRC.windowWidth = sigIRC.window.getWidth();
sigIRC.windowHeight = sigIRC.window.getHeight();
sigIRC.config.setInteger("windowX", sigIRC.windowX);
sigIRC.config.setInteger("windowY", sigIRC.windowY);
sigIRC.config.setInteger("windowWidth", sigIRC.windowWidth);
sigIRC.config.setInteger("windowHeight", sigIRC.windowHeight);
sigIRC.button.x = sigIRC.panel.getX()+sigIRC.panel.getWidth()-96;
sigIRC.button.y = 64+sigIRC.rowobj.size()*sigIRC.rowSpacing;
sigIRC.config.saveProperties();
UpdateComponent(ev.getComponent());
}
@Override
public void componentMoved(ComponentEvent ev) {
sigIRC.windowX = sigIRC.window.getX();
sigIRC.windowY = sigIRC.window.getY();
UpdateComponent(ev.getComponent());
}
public static void UpdateComponent(Component com) {
sigIRC.windowX = (int)sigIRC.window.getLocationOnScreen().getX();
sigIRC.windowY = (int)sigIRC.window.getLocationOnScreen().getY();
sigIRC.windowWidth = sigIRC.window.getWidth();
sigIRC.windowHeight = sigIRC.window.getHeight();
sigIRC.config.setInteger("windowX", sigIRC.windowX);
@ -191,6 +187,8 @@ public class MyPanel extends JPanel implements MouseListener, ActionListener, Mo
sigIRC.config.setInteger("windowHeight", sigIRC.windowHeight);
sigIRC.button.x = sigIRC.panel.getX()+sigIRC.panel.getWidth()-96;
sigIRC.button.y = 64+sigIRC.rowobj.size()*sigIRC.rowSpacing;
com.repaint();
sigIRC.panel.repaint();
sigIRC.config.saveProperties();
}

@ -243,19 +243,23 @@ public class ScrollingText {
sigIRC.emoticon_queue.clear();
for (Emoticon e : sigIRC.emoticons) {
//System.out.println("Checking for emoticon "+e.getEmoteName());
if (e.getEmoteName().equals(word)) {
if (e instanceof SubEmoticon) {
SubEmoticon se = (SubEmoticon)e;
if (!se.canUserUseEmoticon(username)) {
//System.out.println("User "+username+" is not subscribed to "+se.channelName+"'s channel!");
break;
try {
if (e.getEmoteName().equals(word)) {
if (e instanceof SubEmoticon) {
SubEmoticon se = (SubEmoticon)e;
if (!se.canUserUseEmoticon(username)) {
//System.out.println("User "+username+" is not subscribed to "+se.channelName+"'s channel!");
break;
}
}
//System.out.println(" Found one!");
basemsg = TextUtils.replaceFirst(basemsg, e.getEmoteName(), e.getSpaceFiller());
GenerateEmoticon(marker+1, basemsg, e);
space = basemsg.indexOf(" ", marker+1);
break;
}
//System.out.println(" Found one!");
basemsg = TextUtils.replaceFirst(basemsg, e.getEmoteName(), e.getSpaceFiller());
GenerateEmoticon(marker+1, basemsg, e);
space = basemsg.indexOf(" ", marker+1);
break;
} catch (NullPointerException ex) {
ex.printStackTrace();
}
}
marker=space;

@ -1,4 +1,5 @@
package sig;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -10,12 +11,29 @@ public class UpdateEvent implements ActionListener{
long lasttime = System.currentTimeMillis();
int avgfps = 30;
int counter = 0;
int windowUpdateCounter=30;
@Override
public void actionPerformed(ActionEvent ev) {
if (ev!=null) {
UpdateScrollingText();
UpdateAuthenticationCountdownMessage();
UpdateWindowPosition();
}
}
private void UpdateWindowPosition() {
if (windowUpdateCounter--<=0) {
if (sigIRC.lastWindowX!=(int)sigIRC.window.getLocationOnScreen().getX() ||
sigIRC.lastWindowY!=(int)sigIRC.window.getLocationOnScreen().getY()) {
sigIRC.lastWindowX = (int)sigIRC.window.getLocationOnScreen().getX();
sigIRC.lastWindowY = (int)sigIRC.window.getLocationOnScreen().getY();
//Trigger Window Update.
for (Component c : sigIRC.window.getComponents()) {
MyPanel.UpdateComponent(c);
}
}
windowUpdateCounter=30;
}
}
@ -40,8 +58,8 @@ public class UpdateEvent implements ActionListener{
} else
if (last_autosave>=AUTOSAVETIMER) {
last_autosave=0;
sigIRC.windowX = sigIRC.window.getX();
sigIRC.windowY = sigIRC.window.getY();
sigIRC.windowX = (int)sigIRC.window.getLocationOnScreen().getX();
sigIRC.windowY = (int)sigIRC.window.getLocationOnScreen().getY();
sigIRC.windowWidth = sigIRC.window.getWidth();
sigIRC.windowHeight = sigIRC.window.getHeight();
sigIRC.config.setInteger("windowX", sigIRC.windowX);

@ -110,6 +110,9 @@ public class sigIRC{
public final static String SUBEMOTELISTFILE = "sigIRC/subemotes.json";
public static long channel_id = -1;
public static int lastSubEmoteUpdate = -1;
static int lastWindowX = 0;
static int lastWindowY = 0;
public static Twitch manager = new Twitch();

Loading…
Cancel
Save