User Tools

Site Tools


c:graphics.h:clearmouseclick

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

c:graphics.h:clearmouseclick [2015/05/06 23:06]
c:graphics.h:clearmouseclick [2024/02/16 01:05] (current)
Line 1: Line 1:
 +===== clearmouseclick =====
 +
 +
 +====Syntax of clearmouseclick ==== 
 + <code c>
 +#include "graphics.h"
 +void clearmouseclick(int kind);
 +  </code>
 +
 +
 +==== Description of clearmouseclick ==== 
 +<code c>
 +The clearmouseclick function is available in the winbgim implementation
 +of BGI graphics. This is just like getmouseclick, except it does not
 +provide the x and y coordinates of the event. The value of the argument
 +kind may be any of the constants listed above. After calling
 +getmouseclick, for a particular kind of event, the ismouseclick will
 +return false for that kind of event until another such event occurs.
 +The kind argument to clearmouseclick is one of these constants from the
 +graphics.h file:
 +  WM_MOUSEMOVE
 +if you want to detect a mouse movement
 +  WM_LBUTTONDBLCLK
 +...detect when the left mouse button is double clicked
 +  WM_LBUTTONDOWN
 +...detect when the left mouse button is clicked down
 +  WM_LBUTTONUP
 +...detect when the left mouse button is released up
 +  WM_MBUTTONDBLCLK
 +...detect when the middle mouse button is double clicked
 +  WM_MBUTTONDOWN
 +...detect when the middle mouse button is clicked down
 +  WM_MBUTTONUP
 +...detect when the middle mouse button is released up
 +  WM_RBUTTONDBLCLK
 +...detect when the right mouse button is double clicked
 +  WM_RBUTTONDOWN
 +...detect when the right mouse button is clicked down
 +  WM_RBUTTONUP
 +...detect when the right mouse button is released up
 +The middle mouse button handlers aren't working on my machine. I haven't
 +yet tracked down the reason--it could be a broken mouse or it could be a
 +bug in my programming.
 +  See also
 +ismouseclick
 +getmouseclick
 +  Example
 +/* mouse example */
 +#include "graphics.h"
 +
 +void main(void)
 +{
 +    const int LIMIT = 10; // Number of clicks to stop program.
 +    int maxx, maxy;  // Maximum x and y pixel coordinates
 +    int count = 0;   // Number of mouse clicks
 +    int divisor;     // Divisor for the length of a triangle side
 +
 +    // Put the machine into graphics mode and get the maximum
 +coordinates:
 +    initwindow(450, 300);
 +    maxx = getmaxx( );
 +    maxy = getmaxy( );
 +
 +    // Draw a white circle with red inside and a radius of 50 pixels:
 +    setfillstyle(SOLID_FILL, RED);
 +    setcolor(WHITE);
 +    fillellipse(maxx/2, maxy/2, 50, 50);
 +
 +    // Print a message and wait for a red pixel to be double clicked:
 +    settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
 +    outtextxy(20, 20, "Left click " << LIMIT << " times to end.");
 +    setcolor(BLUE);
 +    divisor = 2;
 +    while (count < LIMIT)
 +    {
 +  triangle(maxx/divisor, maxy/divisor);
 +  delay(500);
 +  divisor++;
 +  if (ismouseclick(WM_LBUTTONDOWN))
 + {
 +     clearmouseclick(WM_LBUTTONDOWN));
 +count++;
 +  }
 +    }
 +
 +    // Switch back to text mode:
 +    closegraph( );
 +}
 +
 +
 +
 +
 +==== Example of clearmouseclick ====
 +<code c>
 +/* mouse example */
 +#include "graphics.h"
 +
 +void main(void)
 +{
 +    const int LIMIT = 10; // Number of clicks to stop program.
 +    int maxx, maxy;  // Maximum x and y pixel coordinates
 +    int count = 0;   // Number of mouse clicks
 +    int divisor;     // Divisor for the length of a triangle side
 +
 +    // Put the machine into graphics mode and get the maximum
 +coordinates:
 +    initwindow(450, 300);
 +    maxx = getmaxx( );
 +    maxy = getmaxy( );
 +
 +    // Draw a white circle with red inside and a radius of 50 pixels:
 +    setfillstyle(SOLID_FILL, RED);
 +    setcolor(WHITE);
 +    fillellipse(maxx/2, maxy/2, 50, 50);
 +
 +    // Print a message and wait for a red pixel to be double clicked:
 +    settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);
 +    outtextxy(20, 20, "Left click " << LIMIT << " times to end.");
 +    setcolor(BLUE);
 +    divisor = 2;
 +    while (count < LIMIT)
 +    {
 +  triangle(maxx/divisor, maxy/divisor);
 +  delay(500);
 +  divisor++;
 +  if (ismouseclick(WM_LBUTTONDOWN))
 + {
 +     clearmouseclick(WM_LBUTTONDOWN));
 +count++;
 +  }
 +    }
 +
 +    // Switch back to text mode:
 +    closegraph( );
 +}
 +</code>
 +
 +
 +==== See also ====
 +[[ismouseclick]]
 +[[getmouseclick]]
 +
 +
 +===== output of clearmouseclick example ===== 
 +
 +    no output of example at the moment
 +    do not hesitate and add it...  
 +
 +
  

on the occasion of the current invasion of Russia in Ukraine

Russian Stop this War
c/graphics.h/clearmouseclick.txt · Last modified: 2024/02/16 01:05 (external edit)

Impressum Datenschutz