C++: Стандартные библиотечные функции работы с графикой
Заключение
В данной курсовой работе мной был рассмотрен стандартный модуль для работы с графикой на языке C++ “graphics.h”. А также разработан собственный модуль для работы с мышкой в графическом и обычном режимах. Данный модуль является интеллектуальной собственностью. Его дальнейшее изменение без согласия разработчика невозможно. Хотя дополнение модуля другими функциями и классами без изменения исходного кода функций и типов возможно и приветствуется разработчиком. Программный код модуля может свободно распространятся и бесплатен.
Данная работа может использоваться в учебных целях, а на основе кода модуля могут осуществляться различные разработки дополнительных функций для работы с мышью.
Приложение 1
Листинг модуля “mouse.h”
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <graphics.h>
const
MB_NONE = 0,
MB_LEFT = 1,
MB_RIGHT = 2,
MB_LAR = 3,
MB_MIDDLE= 4;
struct tPoint{
int x;
int y;
};
struct tMouseState{
tPoint loc;
int but;
};
extern "C" void ResetMouse();
extern "C" void ShowMouse();
extern "C" void HideMouse();
extern "C" struct tMouseState GetMouseState( void);
extern "C" void MoveMouseCursor( int x, int y);
extern "C" void SetMouseVert( int max, int min);
extern "C" void SetMouseHorz( int max, int min);
void ResetMouse()
{
asm{
xor ax, ax
int 33h
}
}
void ShowMouse()
{
asm{
mov ax, 1
int 33h
}
}
void HideMouse()
{
asm{
mov ax, 2
int 33h
}
}
struct tMouseState GetMouseState( void)
{
struct REGPACK reg;
struct tMouseState state;
reg.r_ax=3;
intr(0x33, ®);
state.loc.x=reg.r_cx;
state.loc.y=reg.r_dx;
state.but=reg.r_bx;
return(state);
}
void MoveMouseCursor( int x, int y)
{
asm{
mov ax, 4
mov cx, x
mov dx, y
int 33h
}
}
void SetMouseVert( int max, int min)
{
asm{
mov ax, 8
mov cx, min
mov dx, max
int 33h
}
}
void SetMouseHorz( int max, int min)
{
asm{
mov ax, 7
mov cx, min
mov dx, max
int 33h
}
}
Список используемой литературы
1. Галерея «ПЕТРОПОЛЬ». Неформальное введение в C++ и TURBO VISION. 1992г.
2. М.И. Болски. Язык программирования Си. 1988г.
3. Юров В.И. Assembler. Учебник для вузов. 2-е издание. - СПб.: Питер, 2004г.