Hi everyone! I'm new to programming, and right now I am making a drawing program. I actually was able to make some progress, but I can't get it to work completely. It's a drawing program where 3 choices can be chosen via buttons (I didn't make buttons. I just made it so if one clicks in a certain area, that mode is chosen) So mode 1 is free drawing, where the person can draw anything, mode 2 is writing letters on the screen (starts where the mouse was last clicked), mode 3 is drawing straight lines (one click for the starting point, a second click for the other point) and last mode is quiting the program ( it can also be done by typing 'e'). I've managed to get the free drawing, line drawing, and program terminating section correct, but can't finish the letter writing, and menu selection part right. Any help is appreciated!! This is the code.

Code:
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#define Window_width 700
#define Window_height 500
#define Menu_width 60
#define Menu_height 20

Display *display;
Window window;
GC context;
int pX, pY;
int mode, ready;

void CreateResource(){
  int black,white;
  display = XOpenDisplay(NULL);
  black = BlackPixel(display, DefaultScreen(display));
  white = WhitePixel(display, DefaultScreen(display));
  window = XCreateSimpleWindow(display, DefaultRootWindow(display), 0, 0,
			       Window_width, Window_height, 2, black, white);
  context = XCreateGC(display, window, 0,0);
  XSelectInput(display,window,KeyPressMask|ButtonPressMask|Button1MotionMask);
  XMapWindow(display, window);
  XSetForeground(display, context, black);
  XSetBackground(display, context, white);
  XFlush(display);
}
void MakeMenu(){
  XDrawLine(display, window, context,
	    0, Menu_height, Menu_width, Menu_height);
  XDrawLine(display, window, context,
	    Menu_width, 0, Menu_width, Menu_height);
  XDrawString(display, window, context, 15, 16,"end", 3);
  XDrawLine(display, window, context,
	    0, 40, Menu_width, 40);
  XDrawLine(display, window, context,
	    Menu_width, Menu_height, Menu_width,40);            /* I am making a menu here */
  XDrawString(display, window, context, 15, 36,"free",4 );
  XDrawLine(display, window, context,
	    0, 60, Menu_width, 60);
  XDrawLine(display, window, context,
	   Menu_width,40,Menu_width,60);
  XDrawString(display, window, context, 15, 56,"word",4 );
   XDrawLine(display, window, context,
	    0, 80, Menu_width, 80);
  XDrawLine(display, window, context,
	   Menu_width,60,Menu_width,80);

  XDrawString(display, window, context, 15, 76,"line",4 );
  
}

void HitButton(XButtonEvent *event){
  if(event->x < Menu_width){
    if(event->y <Menu_height){
      XCloseDisplay(display); exit(1);
    }
    else if(event-> y>20 && event-> y<40){
      mode=1; return;}
    else if(event-> y>40 && event-> y<60){      /* This is where I declare what would happen if 	mode=2; return;}                          a button (I didn’t really make buttons, Ijust
    else if(event->y>60 && event->y<80){          made it so if a certain area is clicked, a
      mode=3; ready=0; return;}                  certain command is chosen. */
  }
  if(event->window == window){
    if(mode==1){
      XDrawLine(display, window, context, pX, pY, event->x, event->y); pX =event ->x; pY= event -> y;}
    // if(mode==2){
    // XDrawString(display, window, context, pX, pY, event->x, event->y);}
    if(mode==3){
      if(ready){ XDrawLine(display, window, context, pX, pY, event->x, event->y); ready = 0;}
      else{ ready =1;}
    }
     pX =event ->x; pY= event -> y;
  }
}
void Draw(XMotionEvent *event){
  XDrawLine(display, window, context, pX, pY, event->x, event->y);
  pX = event->x; pY = event->y;
}  
void HitKey(XKeyEvent *event){
  char ch;
  KeySym keysym;
  XLookupString(event, &ch, 1, &keysym, NULL);
  if(ch=='e'){
    XCloseDisplay(display); exit(1);
  }
}
void EventLoop(){
  XEvent event;
  while(1){
    XNextEvent(display, &event);
    switch (event.type){
    case ButtonPress:
      HitButton(&event. xbutton);
      break;
       case MotionNotify:
       Draw(&event.xmotion);
       break;
    case KeyPress:
      HitKey(&event.xkey);
      break;
    default:
      break;
    }
  }
}
int main(){
  CreateResource();
  MakeMenu();
  EventLoop();
  return 0;
}

Once again, any help is appreciated!! Thanks before hand!