MCPcopy Create free account
hub / github.com/codenameone/CodenameOne / Switch

Class Switch

CodenameOne/src/com/codename1/components/Switch.java:150–1065  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

148///
149/// - switchDisabledTrackImage
150public class Switch extends Component implements ActionSource, ReleasableComponent {
151
152 private final EventDispatcher dispatcher = new EventDispatcher();
153 private final EventDispatcher changeDispatcher = new EventDispatcher();
154 private final int valign = CENTER;
155 private boolean value;
156 private Image thumbOnImage;
157 private Image thumbOffImage;
158 private Image thumbDisabledImage;
159 private Image trackOnImage;
160 private Image trackOffImage;
161 private Image trackDisabledImage;
162 private boolean dragged;
163 private long dragStartTime;
164 private int pressX;
165 private int pressY;
166 private int deltaX; //pressX - currentdragX
167 private int deltaY;
168 private final ActionListener pointerPressed = new ActionListener() {
169 @Override
170 public void actionPerformed(ActionEvent evt) {
171 Form f = getComponentForm();
172 if (f != null) {
173 f.addComponentAwaitingRelease(Switch.this);
174 }
175 dragged = false;
176 dragStartTime = System.currentTimeMillis();
177 deltaX = 0;
178 deltaY = 0;
179 pressX = evt.getX();
180 pressY = evt.getY();
181 }
182 };
183 private final ActionListener pointerDragged = new ActionListener() {
184 @Override
185 public void actionPerformed(ActionEvent evt) {
186
187 dragged = true;
188 deltaX = pressX - evt.getX();
189 deltaY = pressY - evt.getY();
190 if (Math.abs(deltaY) >= Math.abs(deltaX * 0.5)) {
191 dragged = false;
192 deltaX = 0;
193 deltaY = 0;
194 } else {
195 evt.consume();
196 }
197 }
198 };
199 private boolean animationLock;
200 private final ActionListener pointerReleased = new ActionListener() {
201 private final int tapThreshold = CN.convertToPixels(1);
202
203 private boolean dragWasActuallyATap() {
204 return System.currentTimeMillis() - dragStartTime < 60 && Math.abs(deltaX) < tapThreshold;
205 }
206
207 @Override

Callers 1

runTestMethod · 0.85

Calls 1

convertToPixelsMethod · 0.95

Tested by 1

runTestMethod · 0.68