Table of Contents

clearmouseclick

Syntax of clearmouseclick

#include "graphics.h"
void clearmouseclick(int kind);
 

Description of clearmouseclick

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( );
}

See also

ismouseclick getmouseclick

output of clearmouseclick example

  no output of example at the moment
  do not hesitate and add it...