source: network-game/client/Client/chat.cpp@ 6b641af

Last change on this file since 6b641af was 9b1e12c, checked in by dportnoy <dmp1488@…>, 11 years ago

Increased the size of the client window to 1024x768 and moved around some gui elements to fit the new size

  • Property mode set to 100644
File size: 1.5 KB
Line 
1#include "chat.h"
2
3chat::chat(void)
4{
5}
6
7chat::~chat(void)
8{
9}
10
11string chat::getInput()
12{
13 string temp = strEnteredInput;
14 strEnteredInput.clear();
15 return temp;
16}
17
18void chat::draw(ALLEGRO_FONT *font, ALLEGRO_COLOR color)
19{
20 for(unsigned int x=0; x<vctChat.size(); x++)
21 al_draw_text(font, color, 5, 100+x*15, ALLEGRO_ALIGN_LEFT, vctChat[x].c_str());
22
23 // I think this might never be used
24 al_draw_text(font, color, 5, 460, ALLEGRO_ALIGN_LEFT, strPrompt.c_str());
25}
26
27void chat::addLine(string s)
28{
29 vctChat.push_back(s);
30}
31
32// returns true if the event was consumed, false if it should be passed on
33bool chat::handleEvent(ALLEGRO_EVENT e)
34{
35 ALLEGRO_KEYBOARD_STATE keys;
36 al_get_keyboard_state(&keys);
37
38 if (e.type == ALLEGRO_EVENT_KEY_DOWN) {
39 char newChar = 0;
40
41 if (ALLEGRO_KEY_A <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_Z) {
42 newChar = 'a'+e.keyboard.keycode-ALLEGRO_KEY_A;
43 if (al_key_down(&keys, ALLEGRO_KEY_LSHIFT) || al_key_down(&keys, ALLEGRO_KEY_RSHIFT))
44 newChar -= 32;
45 }
46 if (ALLEGRO_KEY_0 <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_9)
47 newChar = '0'+e.keyboard.keycode-ALLEGRO_KEY_0;
48
49 if (newChar != 0) {
50 strPrompt.append(1, newChar);
51 return true;
52 }
53
54 if (e.keyboard.keycode == ALLEGRO_KEY_ENTER) {
55 strEnteredInput = strPrompt;
56 strPrompt.clear();
57 return true;
58 }
59 }
60
61 return false;
62}
Note: See TracBrowser for help on using the repository browser.