Boolean MCEPS::mdown(uint2 which) { if (state & CS_MFOCUSED) return False; state |= CS_MFOCUSED; switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: message_with_valueref_args(MCM_mouse_down, MCSTR("1")); break; case T_POINTER: start(True); break; case T_HELP: break; default: return False; } break; case Button2: case Button3: message_with_args(MCM_mouse_down, which); break; } return True; }
Boolean MCColors::mup(uint2 which, bool p_release) { if (!(state & CS_MFOCUSED)) return False; state &= ~CS_MFOCUSED; switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: message_with_valueref_args(MCM_mouse_up, MCSTR("1")); break; case T_POINTER: end(true, p_release); break; default: return False; } break; case Button2: case Button3: message_with_args(MCM_mouse_up, which); break; } return True; }
Boolean MCPlayer::mup(uint2 which, bool p_release) //mouse up { if (!(state & CS_MFOCUSED)) return False; if (state & CS_MENU_ATTACHED) return MCObject::mup(which, p_release); state &= ~CS_MFOCUSED; if (state & CS_GRAB) { ungrab(which); return True; } switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: if (!p_release && MCU_point_in_rect(rect, mx, my)) message_with_valueref_args(MCM_mouse_up, MCSTR("1")); else message_with_valueref_args(MCM_mouse_release, MCSTR("1")); break; case T_PLAYER: case T_POINTER: end(true, p_release); //stop dragging or moving the movie object, will change controller size break; case T_HELP: help(); break; default: return False; } break; case Button2: case Button3: if (!p_release && MCU_point_in_rect(rect, mx, my)) message_with_args(MCM_mouse_up, which); else message_with_args(MCM_mouse_release, which); break; } return True; }
Boolean MCPlayer::mdown(uint2 which) { if (state & CS_MFOCUSED || flags & F_DISABLED) return False; if (state & CS_MENU_ATTACHED) return MCObject::mdown(which); state |= CS_MFOCUSED; if (flags & F_TRAVERSAL_ON && !(state & CS_KFOCUSED)) getstack()->kfocusset(this); switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: if (message_with_valueref_args(MCM_mouse_down, MCSTR("1")) == ES_NORMAL) return True; break; case T_POINTER: case T_PLAYER: //when the movie object is in editing mode start(True); //starting draggin or resizing playpause(True); //pause the movie break; case T_HELP: break; default: return False; } break; case Button2: if (message_with_valueref_args(MCM_mouse_down, MCSTR("2")) == ES_NORMAL) return True; break; case Button3: message_with_valueref_args(MCM_mouse_down, MCSTR("3")); break; } return True; }
Boolean MCEPS::mup(uint2 which, bool p_release) { if (!(state & CS_MFOCUSED)) return False; state &= ~CS_MFOCUSED; switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: if (!p_release && MCU_point_in_rect(rect, mx, my)) message_with_valueref_args(MCM_mouse_up, MCSTR("1")); else message_with_valueref_args(MCM_mouse_release, MCSTR("1")); break; case T_POINTER: end(true, p_release); break; case T_HELP: help(); break; default: return False; } break; case Button2: case Button3: if (!p_release && MCU_point_in_rect(rect, mx, my)) message_with_args(MCM_mouse_up, which); else message_with_args(MCM_mouse_release, which); break; } return True; }
Boolean MCPlayer::playstop() { formattedwidth = formattedheight = 0; if (!getstate(CS_PREPARED)) return False; Boolean needmessage = True; state &= ~(CS_PREPARED | CS_PAUSED); lasttime = 0; freetmp(); if (MCplayers) { if (MCplayers == this) MCplayers = nextplayer; else { MCPlayer *tptr = MCplayers; while (tptr->nextplayer && tptr->nextplayer != this) tptr = tptr->nextplayer; if (tptr->nextplayer == this) tptr->nextplayer = nextplayer; } } nextplayer = nil; if (disposable) { if (needmessage) getcard()->message_with_valueref_args(MCM_play_stopped, getname()); delete this; } else if (needmessage) message_with_valueref_args(MCM_play_stopped, getname()); return True; }
Boolean MCColors::mdown(uint2 which) { if (state & CS_MFOCUSED) return False; state |= CS_MFOCUSED; MCColor color; switch (which) { case Button1: switch (getstack()->gettool(this)) { case T_BROWSE: uint2 xcells; uint2 ycells; getcells(xcells, ycells); MCscreen->getpaletteentry((my - rect.y) * ycells / rect.height * xcells + (mx - rect.x) * xcells / rect.width, color); selectedcolor = color.pixel; // MW-2011-08-18: [[ Layers ]] Invalidate the whole object. layer_redrawall(); message_with_valueref_args(MCM_mouse_down, MCSTR("1")); break; case T_POINTER: start(True); break; default: return False; } break; case Button2: case Button3: message_with_args(MCM_mouse_down, which); break; } return True; }