⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scicalc.cxx

📁 PIXIL is a small footprint operating environment, complete with PDA PIM applications, a browser and
💻 CXX
📖 第 1 页 / 共 4 页
字号:
	ready = 1;    } else {	value[top] = 180.0 * value[top] / M_PI;	set_display(value[top], NORM);	ready = 1;    };}voidSciCalc::cb_but_dr(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_dr_i(o, v);}inline voidSciCalc::cb_but_drg_i(Fl_Button *, void *){    drgmode++;    drgmode %= 3;    set_drgdisp();}voidSciCalc::cb_but_drg(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_drg_i(o, v);}inline voidSciCalc::cb_but_leftbr_i(Fl_Button *, void *){    add_left_bracket();}voidSciCalc::cb_but_leftbr(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_leftbr_i(o, v);}inline voidSciCalc::cb_but_rightbr_i(Fl_Button *, void *){    add_right_bracket();}voidSciCalc::cb_but_rightbr(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_rightbr_i(o, v);}inline voidSciCalc::cb_but_exch_i(Fl_Button *, void *){    exchange();}voidSciCalc::cb_but_exch(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_exch_i(o, v);}inline voidSciCalc::cb_but_invx_i(Fl_Button *, void *){    value[top] = 1.0 / value[top];    set_display(value[top], NORM);    ready = 1;}voidSciCalc::cb_but_invx(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_invx_i(o, v);}inline voidSciCalc::cb_but_fact_i(Fl_Button *, void *){    factorial();}voidSciCalc::cb_but_fact(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_fact_i(o, v);}inline voidSciCalc::cb_but_Mplus_i(Fl_Button *, void *){    if (!inv)	mem += value[top];    else	mem -= value[top];    set_display(value[top], NORM);    ready = 1;    set_memdisp();}voidSciCalc::cb_but_Mplus(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_Mplus_i(o, v);}inline voidSciCalc::cb_but_Mmult_i(Fl_Button *, void *){    if (!inv)	mem *= value[top];    else	mem /= value[top];    set_display(value[top], NORM);    ready = 1;    set_memdisp();}voidSciCalc::cb_but_Mmult(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_Mmult_i(o, v);}inline voidSciCalc::cb_but_Mclear_i(Fl_Button *, void *v){    if (!inv) {	mem = 0.0;	set_display(value[top], NORM);	ready = 1;	set_memdisp();    } else	memexch();}voidSciCalc::cb_but_Mclear(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_Mclear_i(o, v);}inline voidSciCalc::cb_but_Mst_i(Fl_Button *, void *){    mem = value[top];    set_display(value[top], NORM);    ready = 1;    set_memdisp();}voidSciCalc::cb_but_Mst(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_Mst_i(o, v);}inline voidSciCalc::cb_but_Mrc_i(Fl_Button *, void *){    value[top] = mem;    set_display(value[top], NORM);    ready = 1;}voidSciCalc::cb_but_Mrc(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_Mrc_i(o, v);}inline voidSciCalc::cb_check_inv_i(Fl_Button *, void *){    if (inv) {	inv = 0;	setnormlabels();    } else {	inv = 1;	setinvlabels();    };}voidSciCalc::cb_check_inv(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_check_inv_i(o, v);}inline voidSciCalc::cb_but_quit_i(Fl_Button *, void *){    main_window->hide();    delete main_window;}voidSciCalc::cb_but_quit(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_but_quit_i(o, v);}// this needs to show the sci button window and resize the simple button windowinline voidSciCalc::cb_to_sci_mode_i(Fl_Button * o, void *){    SciMode = TRUE;    to_sci_mode->hide();    to_simple_mode->show();    check_inv->show();    num_mode_window->show();    sci_view_window->show();    sci_view_window->redraw();    tmp_y = 70 + (old_h - 70) * 4 / 10;    tmp_h = old_h - tmp_y;    SetButtonWindowGeometry(0, tmp_y, old_w, tmp_h, 5, 5);    simple_view_window->resize(0, tmp_y, old_w, tmp_h);    but_7->resize(FL_BUTT_GEO(1, 2));    but_8->resize(FL_BUTT_GEO(2, 2));    but_9->resize(FL_BUTT_GEO(3, 2));    but_4->resize(FL_BUTT_GEO(1, 3));    but_5->resize(FL_BUTT_GEO(2, 3));    but_6->resize(FL_BUTT_GEO(3, 3));    but_1->resize(FL_BUTT_GEO(1, 4));    but_2->resize(FL_BUTT_GEO(2, 4));    but_3->resize(FL_BUTT_GEO(3, 4));    but_0->resize(FL_BUTT_GEO(1, 5));    but_dot->resize(FL_BUTT_GEO(2, 5));    but_sign->resize(FL_BUTT_GEO(3, 5));    but_C->resize(FL_BUTT_GEO(4, 2));    but_AC->resize(FL_BUTT_GEO(5, 2));    but_X->resize(FL_BUTT_GEO(4, 3));    but_div->resize(FL_BUTT_GEO(5, 3));    but_plus->resize(FL_BUTT_GEO(4, 4));    but_minus->resize(FL_BUTT_GEO(5, 4));    but_pi->resize(FL_BUTT_GEO(4, 5));    but_eval->resize(FL_BUTT_GEO(5, 5));    but_Mplus->resize(FL_BUTT_GEO(1, 1));    but_Mmult->resize(FL_BUTT_GEO(2, 1));    but_Mclear->resize(FL_BUTT_GEO(3, 1));    but_Mst->resize(FL_BUTT_GEO(4, 1));    but_Mrc->resize(FL_BUTT_GEO(5, 1));    main_window->redraw();}voidSciCalc::cb_to_sci_mode(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_to_sci_mode_i(o, v);}// this needs to hide the sci button window and resize the simple button windowinline voidSciCalc::cb_to_simple_mode_i(Fl_Button * o, void *){    SciMode = FALSE;    tmp_y = 70;    tmp_h = old_h - tmp_y;    sci_view_window->hide();    num_mode_window->hide();    check_inv->hide();    to_simple_mode->hide();    to_sci_mode->show();    radio_2->value(0);    radio_8->value(0);    radio_16->value(0);    radio_10->value(1);    SetButtonWindowGeometry(0, tmp_y, old_w, tmp_h, 5, 5);    simple_view_window->resize(0, tmp_y, old_w, tmp_h);    but_7->resize(FL_BUTT_GEO(1, 2));    but_8->resize(FL_BUTT_GEO(2, 2));    but_9->resize(FL_BUTT_GEO(3, 2));    but_4->resize(FL_BUTT_GEO(1, 3));    but_5->resize(FL_BUTT_GEO(2, 3));    but_6->resize(FL_BUTT_GEO(3, 3));    but_1->resize(FL_BUTT_GEO(1, 4));    but_2->resize(FL_BUTT_GEO(2, 4));    but_3->resize(FL_BUTT_GEO(3, 4));    but_0->resize(FL_BUTT_GEO(1, 5));    but_dot->resize(FL_BUTT_GEO(2, 5));    but_sign->resize(FL_BUTT_GEO(3, 5));    but_C->resize(FL_BUTT_GEO(4, 2));    but_AC->resize(FL_BUTT_GEO(5, 2));    but_X->resize(FL_BUTT_GEO(4, 3));    but_div->resize(FL_BUTT_GEO(5, 3));    but_plus->resize(FL_BUTT_GEO(4, 4));    but_minus->resize(FL_BUTT_GEO(5, 4));    but_pi->resize(FL_BUTT_GEO(4, 5));    but_eval->resize(FL_BUTT_GEO(5, 5));    but_Mplus->resize(FL_BUTT_GEO(1, 1));    but_Mmult->resize(FL_BUTT_GEO(2, 1));    but_Mclear->resize(FL_BUTT_GEO(3, 1));    but_Mst->resize(FL_BUTT_GEO(4, 1));    but_Mrc->resize(FL_BUTT_GEO(5, 1));    change_base(10);    main_window->redraw();}voidSciCalc::cb_to_simple_mode(Fl_Button * o, void *v){    ((SciCalc *) v)->cb_to_simple_mode_i(o, v);}/* members *//********/SciCalc::SciCalc(bool Scientific = FALSE):  Fl_Double_Window(0, 0, WIDTH, HEIGHT, "Calculator"){    SciMode = Scientific;    old_w = WIDTH;    old_h = HEIGHT;    ButtonGeometryInvalidate();    {	//	// Main Calculator Container Window	//	Fl_Window *o = main_window = this;	o->box(FL_UP_BOX);	o->user_data((void *) (this));	{	    //	    // LED Display Window	    //	    Fl_Double_Window *o = status_window =		new Fl_Double_Window(0, 0, WIDTH, 70);	    o->color(NxApp::Instance()->getGlobalColor(APP_BG));	    {		StaticText *o = leddisplay =		    new StaticText(5, 3, WIDTH - 8, 24);		o->box(FL_DOWN_BOX);		o->color(NxApp::Instance()->getGlobalColor(APP_BG));		o->labelfont(1);		o->labelsize(16);		o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		o->align(FL_ALIGN_RIGHT | FL_ALIGN_INSIDE);		status_window->add((Fl_Widget *) o);	    }	    {		Fl_Group *o = out_data_group =		    new Fl_Group(((WIDTH - 135) / 2), 27, 136, 16);		//      o->color(46);		{		    StaticText *o = box_DEGRAD = new StaticText(((WIDTH - 135) / 2), 29, 37, 15);	//27		    o->box(FL_ENGRAVED_BOX);		    o->labelsize(11);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		    o->callback((Fl_Callback *) cb_box_DEGRAD, this);		    o->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);		    out_data_group->add((Fl_Widget *) o);		}		{		    StaticText *o = box_bracket =			new StaticText(((WIDTH - 135) / 2) + 36, 29, 65, 15);		    o->box(FL_ENGRAVED_BOX);		    o->labelsize(11);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		    o->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);		    out_data_group->add((Fl_Widget *) o);		}		{		    StaticText *o = box_M =			new StaticText(((WIDTH - 135) / 2) + 100, 29, 37, 15);		    o->box(FL_ENGRAVED_BOX);		    o->labelsize(11);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		    o->callback((Fl_Callback *) cb_box_M, this);		    o->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);		    out_data_group->add((Fl_Widget *) o);		}		o->end();		status_window->add((Fl_Widget *) o);	    }	    // Remember to scale all of these...	    {		//		// Numbers Mode Window: 2, 8, 10, or 16		//		Fl_Double_Window *o = num_mode_window =		    new Fl_Double_Window(((WIDTH - 93) / 2), 44, 93, 22);		o->color(NxApp::Instance()->getGlobalColor(APP_BG));		if (!SciMode)		    o->hide();		{		    Fl_Button *o = radio_2 = new Fl_Button(3, 4, 20, 15, "2");		    o->type(102);		    o->labelsize(10);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->callback((Fl_Callback *) cb_radio_2, this);		}		{		    Fl_Button *o = radio_8 =			new Fl_Button(24, 4, 21, 15, "8");		    o->type(102);		    o->labelsize(10);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->callback((Fl_Callback *) cb_radio_8, this);		}		{		    Fl_Button *o = radio_10 =			new Fl_Button(46, 4, 21, 15, "10");		    o->type(102);		    o->value(1);		    o->labelsize(10);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->callback((Fl_Callback *) cb_radio_10, this);		}		{		    Fl_Button *o = radio_16 =			new Fl_Button(68, 4, 21, 15, "16");		    o->type(102);		    o->labelsize(10);		    o->color(NxApp::Instance()->getGlobalColor(APP_BG));		    o->selection_color(NxApp::Instance()->				       getGlobalColor(HILIGHT));		    o->labelcolor(NxApp::Instance()->getGlobalColor(APP_FG));		    o->callback((Fl_Callback *) cb_radio_16, this);		}		o->end();		status_window->add((Fl_Widget *) o);	    }	    //	    // INV Button on SCI Mode's top left-hand side	    //	    {		Fl_Button *o = check_inv =		    new Fl_Button((((WIDTH - 93) / 2) - 32) / 2, 46,				  WIDTH / 6 /*32 */ , 21, "inv");		if (!SciMode)		    o->hide();		o->type(1);		o->labelfont(0);		o->labelsize(11);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->labelcolor(NxApp::Instance()->getGlobalColor(BUTTON_TEXT));		o->callback((Fl_Callback *) cb_check_inv, this);		status_window->add((Fl_Widget *) o);	    }	    //	    // SCI button on Reg Mode's top right-hand side	    //	    {		Fl_Button *o = to_sci_mode =		    new Fl_Button(WIDTH -				  ((((WIDTH - 93) / 2) - 32) / 2 + 29), 46,				  WIDTH / 6 /*29 */ , 21, "Sci");		if (SciMode)		    o->hide();		o->labelfont(0);		o->labelsize(11);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->labelcolor(NxApp::Instance()->getGlobalColor(BUTTON_TEXT));		o->callback((Fl_Callback *) cb_to_sci_mode, this);		status_window->add((Fl_Widget *) o);	    }	    // REG button on SCI Mode's top right-hand side	    {		Fl_Button *o = to_simple_mode =		    new Fl_Button(WIDTH -				  ((((WIDTH - 93) / 2) - 32) / 2 + 29), 46,				  WIDTH / 6 /*29 */ , 21, "Reg");		if (!SciMode)		    o->hide();		o->labelfont(0);		o->labelsize(11);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->labelcolor(NxApp::Instance()->getGlobalColor(BUTTON_TEXT));		o->callback((Fl_Callback *) cb_to_simple_mode, this);		status_window->add((Fl_Widget *) o);	    }	}	// This is the end of the status_window section	{	    if (SciMode) {		tmp_y = 70 + (HEIGHT - 70) * 4 / 10;	    } else {		tmp_y = 70;	    }	    tmp_x = 0;	    tmp_h = HEIGHT - tmp_y;	    tmp_w = WIDTH;	    SetButtonWindowGeometry(tmp_x, tmp_y, tmp_w, tmp_h, 5, 5);	    //	    // Regular Mode Window	    //	    Fl_Double_Window *o = simple_view_window =		new Fl_Double_Window(tmp_x, tmp_y, tmp_w, tmp_h);	    o->color(NxApp::Instance()->getGlobalColor(APP_BG));	    {		Fl_Button *o = but_7 = new Fl_Button(FL_BUTT_GEO(1, 2), "7");		o->box(FL_UP_BOX);		o->shortcut(0x37);		o->labelfont(1);		o->labelsize(16);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->callback((Fl_Callback *) cb_but_7, this);		simple_view_window->add((Fl_Widget *) o);	    }	    {		Fl_Button *o = but_8 = new Fl_Button(FL_BUTT_GEO(2, 2), "8");		o->box(FL_UP_BOX);		o->shortcut(0x38);		o->labelfont(1);		o->labelsize(16);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->callback((Fl_Callback *) cb_but_8, this);		simple_view_window->add((Fl_Widget *) o);	    }	    {		Fl_Button *o = but_9 = new Fl_Button(FL_BUTT_GEO(3, 2), "9");		o->box(FL_UP_BOX);		o->shortcut(0x39);		o->labelfont(1);		o->labelsize(16);		o->color(NxApp::Instance()->getGlobalColor(BUTTON_FACE));		o->selection_color(NxApp::Instance()->				   getGlobalColor(BUTTON_PUSH));		o->callback((Fl_Callback *) cb_but_9, this);		simple_view_window->add((Fl_Widget *) o);	    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -