# xgetmouse

retorna os eventos de mouse e posição corrente

## Seqüência de Chamamento

    [rep [,win]]=xgetmouse([sel])

## Parâmetros

sel

  vetor de booleanos `[getmotion, getrelease]`. O valor padrão é `[%t, %f]`

rep

  vetor de tamanho 3, [x,y,ibutton].

win

  número da figura onde o evento ocorreu

## Descrição

Se o cursor do mouse estiver localizado na janela de gráficos corrente, `xgetmouse` retorna em `rep` a posição corrente do cursor (x,y) e o valor `ibutton`. O valor de `ibutton` indica o tipo de evento:

ibutton==0

  o botão esquerdo do mouse foi pressionado

ibutton==1

  o botão do meio do mouse foi pressionado

ibutton==2

  o botão direito do mouse foi pressionado

ibutton==3

  o botão esquerdo do mouse foi clicado

ibutton==4

  o botão do meio do mouse foi clicado

ibutton==5

  o botão direito do mouse foi clicado

ibutton==10

  o botão esquerdo do mouse foi clicado duas vezes

ibutton==11

  o botão do meio do mouse foi clicado duas vezes

ibutton==12

  o botão direito do mouse foi clicado duas vezes

ibutton==-5

  o botão esquerdo do mouse foi liberado

ibutton==-4

  o botão do meio do mouse foi liberado

ibutton==-3

  o botão direito do mouse foi liberado

ibutton==-1

  o cursor foi movido

ibutton > =32

  uma tecla com código ASCII ascii(ibutton) foi pressionada

ibutton < =-32

  uma tecla com código ASCII ascii(-ibutton) foi liberada

ibutton > =1000+32

  uma tecla com código ASCII ascii(ibutton-1000) foi pressionada enquanto o botão CTRL estava sendo pressionado

ibutton==-1000

  a janela de gráficos foi fechada

AVISO: Em versões anteriores do Scilab (<5.0), o usuário podia fornecer um flag (indicador) para precisar se a fila de eventos do mouse deveria ser limpa ao se entrar xgetmouse. Está opção está obsoleta agora e será removida no Scilab 5.1.

## Exemplos

    //  seleção de retângulo
    clf();  // apagando/criando janela
    a=gca();a.data_bounds=[0 0;100 100];//ajustando cooredenadas do usuário
    xtitle(" drawing a rectangle ") //adicionando um título
    show_window(); //pondo a janela no topo

    [b,xc,yc]=xclick(); //retornando um ponto
    xrect(xc,yc,0,0) //desenhando a entidade Rectangle
    r=gce();// o manipulador do retângulo
    rep=[xc,yc,-1];first=%f;

    while rep(3)==-1 do // movimentação do mouse...
      rep=xgetmouse();
      xc1=rep(1);yc1=rep(2);
      ox=min(xc,xc1);
      oy=max(yc,yc1);
      w=abs(xc-xc1);h=abs(yc-yc1);
      r.data=[ox,oy,w,h]; //mudando a origem, largura e altura do retângulo
      first=%f;
    end

## Ver Também

- locate
- xclick
- seteventhandler