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, &reg);

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г.

Делись добром ;)