int main() { int cho; char check,c,esc; system("clear"); strcpy(filename,"pranav"); while(1) { system("clear"); printf(BOLDYELLOW"\n\n\n\n\n\t\t\t\t\t----------------------*******---------------------"RESET); printf(BOLDCYAN"\n\n\n\t\t\t\tHello !! Welcome to PRANAV's Library --- choose from the following menu"RESET); printf(YELLOW"\n\n\n\t\t\t\t\t1.Add Book Information"RESET); printf(YELLOW"\n\n\t\t\t\t\t2.Display Book Information"RESET); printf(YELLOW"\n\n\t\t\t\t\t3.Delete Book Information"RESET); printf(YELLOW"\n\n\t\t\t\t\t4.Search a Book "RESET); printf(YELLOW"\n\n\t\t\t\t\t5.Edit available book Information"RESET); printf(YELLOW"\n\n\t\t\t\t\t6.Exit from this menu"RESET); printf(BOLDYELLOW"\n\n\n\n\n\t\t\t\t\t----------------------*******---------------------"RESET); printf(BOLDCYAN"\n\n\t\t\t\t\t\t Your Choice:"RESET); scanf("%d",&cho); switch(cho) { case 1: Password(); addbook(); break; case 2: display_book(lib); sleep(2); break; case 3: Password(); delete_book(lib); sleep(2); break; case 4: search(lib); sleep(2); break; case 5: Password(); edit_info(lib); break; case 6: exitp(); default: printf(BOLDRED"\n\t\t\t\tChoose from following choices only \n"RESET); printf(RED"\t\t\tEnter 1 2 3 4 5 6 7"RESET); } } }
void display_node(Node *node) { switch(node->type) { case Book_t: display_book(node); break; case Periodical_t: display_periodical(node); break; case Encyclopedia_t: display_encyclopedia(node); break; default: break; } }
int display_book_handler(window_info *win) { int x=32,i,p; char str[20]; book *b=win->data; if(!b) { toggle_window(book_win); return 1; } switch(b->type){ case 1: #ifdef NEW_TEXTURES bind_texture(paper1_text); #else /* NEW_TEXTURES */ get_and_set_texture_id(paper1_text); #endif /* NEW_TEXTURES */ break; case 2: #ifdef NEW_TEXTURES bind_texture(book1_text); #else /* NEW_TEXTURES */ get_and_set_texture_id(book1_text); #endif /* NEW_TEXTURES */ break; } glBegin(GL_QUADS); glTexCoord2f(0.0f,1.0f); glVertex3i(0,0,0); glTexCoord2f(0.0f,0.0f); glVertex3i(0,win->len_y-20,0); glTexCoord2f(1.0f,0.0f); glVertex3i(win->len_x,win->len_y-20,0); glTexCoord2f(1.0f,1.0f); glVertex3i(win->len_x,0,0); glEnd(); glPushMatrix(); if(b->type==1) glTranslatef(15,25,0); else if(b->type==2) glTranslatef(30,15,0); display_book(b, b->type); glPopMatrix(); glPushMatrix(); glTranslatef(0,win->len_y-18,0); book_mouse_y-=(win->len_y-18); x=10; if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>10 && book_mouse_x<(get_string_width((unsigned char*)"<-")*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(10,-2,(unsigned char*)"<-",0); glColor3f(0.77f,0.59f, 0.38f); draw_string(win->len_x-33,-2,(unsigned char*)"->",0); } else if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>win->len_x-33 && book_mouse_x<win->len_x-33+(get_string_width((unsigned char*)"->")*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(win->len_x-33,-2,(unsigned char*)"->",0); glColor3f(0.77f,0.59f, 0.38f); draw_string(10,-2,(unsigned char*)"<-",0); } else { glColor3f(0.77f,0.59f, 0.38f); draw_string(10,-2,(unsigned char*)"<-",0); draw_string(win->len_x-33,-2,(unsigned char*)"->",0); } if(b->type==1) { x=50; p=b->active_page-5; if(p>=0){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } x=100; p=b->active_page-2; if(p>=0){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } x=win->len_x-120; p=b->active_page+2; if(p<b->no_pages){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } x=win->len_x-70; p=b->active_page+5; if(p<b->no_pages){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } } else if(b->type==2) { x=win->len_x/2-60; for(i=1;i<5;i++){ p=b->active_page-i*b->type; if(p>=0){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } x-=40; } x=win->len_x/2+50; for(i=1;i<5;i++){ p=b->active_page+i*b->type; if(p<b->no_pages){ safe_snprintf(str,sizeof(str),"%d",p+1); if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>x && book_mouse_x<x+(get_string_width((unsigned char*)str)*11.0f/12.0f)){ glColor3f(0.95f, 0.76f, 0.52f); draw_string(x,0,(unsigned char*)str,0); glColor3f(0.77f,0.59f, 0.38f); } else draw_string(x,0,(unsigned char*)str,0); } x+=40; } } if(book_mouse_y>0 && book_mouse_y<18 && book_mouse_x>win->len_x/2-15 && book_mouse_x<win->len_x/2+15) glColor3f(0.95f, 0.76f, 0.52f); draw_string(win->len_x/2-15,0,(unsigned char*)"[X]",0); glPopMatrix(); #ifdef OPENGL_TRACE CHECK_GL_ERRORS(); #endif //OPENGL_TRACE return 1; }