Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
20051a5
Set scan area from initial configuration
masafumi-inoue May 10, 2019
ae8482d
Separete End/Endless from GUI to GUI/ConfigParam
masafumi-inoue May 13, 2019
bad25c1
Make gts_gui_ja.fl for japanease
masafumi-inoue May 15, 2019
9fe5ad1
Modify gts_gui_ja.fl for japanease
masafumi-inoue May 16, 2019
32946bb
How to build ja
masafumi-inoue May 17, 2019
4d3855e
Separete RGB/Grayscale/BW from GUI to GUI/ConfigParam
masafumi-inoue May 21, 2019
87be3aa
Separete CW_-90/CW_0/CW_90/CW_180 from GUI to GUI/ConfigParam
masafumi-inoue May 24, 2019
72285af
Japanease GUI Version Work1
masafumi-inoue May 28, 2019
6ee546d
Japanease GUI Version Work2
masafumi-inoue May 29, 2019
f2d1632
Japanease GUI Version Work3
masafumi-inoue Jun 3, 2019
7ee699e
Japanease GUI Version Work4
masafumi-inoue Jun 3, 2019
062a9c1
Japanease GUI Version Work5
masafumi-inoue Jun 3, 2019
5c96352
for GTS-2.5.2
masafumi-inoue Jun 3, 2019
7923a55
Debug for Ubuntu16.04 Build
masafumi-inoue Jun 4, 2019
3302638
retake nihongo
masafumi-inoue Jun 27, 2019
c4f6bcc
nihongo take2
masafumi-inoue Jun 28, 2019
4c317fa
nihongo take3
masafumi-inoue Jul 1, 2019
1bfad2e
Add image::save_as_set_scan_images_path_sw
masafumi-inoue Jul 2, 2019
db532a6
Add depending extention by image::save_as_set_scan_images_path_sw
masafumi-inoue Jul 2, 2019
80167ad
Change checking order about trace_batch
masafumi-inoue Jul 2, 2019
c61dba5
Add checking folder_path and file_name
masafumi-inoue Jul 2, 2019
4af0c6f
Add message about folder and files when run trace files
masafumi-inoue Jul 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ libgts_la_SOURCES = \
sources/libcpp83gts_callback_and_action/gts_file_path.cpp \
sources/libcpp83gts_callback_and_action/gts_gui.cpp \
sources/libcpp83gts_callback_and_action/gts_master.cpp \
sources/libcpp83gts_callback_and_action/gts_str_language.cpp \
sources/libcpp83gts_callback_and_action/cb_area_and_rot90.cpp \
sources/libcpp83gts_callback_and_action/cb_change_view.cpp \
sources/libcpp83gts_callback_and_action/cb_color_trace_view_area.cpp \
Expand Down
1 change: 1 addition & 0 deletions sources/libcpp83gts_callback_and_action/Makefile.vc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ SRCS =\
gts_file_path.cpp\
gts_gui.cpp\
gts_master.cpp\
gts_str_language.cpp\
cb_area_and_rot90.cpp\
cb_change_view.cpp\
cb_color_trace_view_area.cpp\
Expand Down
88 changes: 88 additions & 0 deletions sources/libcpp83gts_callback_and_action/Makefile_ja.vc
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
.SUFFIXES: .obj .cpp
#---define--------------------------------------------------------------
NAME = libcpp83gts_callback_and_action
OPTS = /W3 /MD /EHa /O2 /DWIN32 /wd4996 /source-charset:utf-8
# /DWIN32 : for Use fltk in Windows
# /wd4996 : Stop warning message by MS-C old function
# /wd4819 // Stop warning message about Language Code ,Used to use vc2013
# /source-charset:utf-8 // Use at vc2017
INCS =\
/I.\
/I..\libcpp81gts_file_browser\
/I..\libcpp72iip_erase_dot_noise\
/I..\libcpp71iip_trace_by_hsv\
/I..\libcpp64iip_rot90\
/I..\libcpp56iip_opengl\
/I..\libcpp55iip_scan\
/I..\libcpp53iip_precision\
/I..\libcpp52iip_rw\
/I..\libcpp51iip_canvas\
/I..\lib_util\
/I..\libc12pri\
/I$(DPATH_TWAIN)\
/I$(DPATH_FLTK)\
/I$(DPATH_GLEW)\include
SRCS =\
gts_file_path.cpp\
gts_gui_ja.cpp\
gts_master.cpp\
gts_str_language_ja.cpp\
cb_area_and_rot90.cpp\
cb_change_view.cpp\
cb_color_trace_view_area.cpp\
cb_config.cpp\
cb_image.cpp\
cb_number.cpp\
cb_pixel_type_and_bright.cpp\
cb_quit.cpp\
cb_read_and_trace_and_preview.cpp\
cb_scan_and_preview.cpp\
cb_scan_and_save.cpp\
cb_set_number_format.cpp\
cb_trace_batch.cpp\
cb_trace_files.cpp\
cb_trace_params.cpp\
dogascan_event.cpp\
dogascan_print_window_headline.cpp\
dogascan_scrollbar.cpp\
fl_gl_cyclic_color_wheel.cpp\
fl_gl_hsv_view.cpp\
fl_gl_image_view.cpp\
fltk_event.cpp\
igs_lex_white_space_and_double_quote.cpp\
ids_path_extensions.cpp\
ids_path_fltk_native_browse.cpp\
ids_path_level_from_files.cpp\
iipg_color_trace.cpp\
iipg_rot90.cpp\
iipg_save.cpp\
iipg_scan.cpp\
iipg_view.cpp\
memory_config_load.cpp\
memory_config_save.cpp\
memory_desktop_load.cpp\
memory_desktop_save.cpp\
wincom_native_browse_directory.cpp
TARG = $(NAME).lib
OBJS = $(SRCS:.cpp=.obj)
DPATH_3RD_PARTY = ..\..\thirdparty
DPATH_FLTK = $(DPATH_3RD_PARTY)\fltk\fltk-1.3.4-2
DPATH_GLEW = $(DPATH_3RD_PARTY)\glew\glew-2.1.0
DPATH_TWAIN = $(DPATH_3RD_PARTY)\twain\twain-2.3
DPATH_APPL = ..\..\build
DPATH_LIBR = $(DPATH_APPL)\lib
DPATH_OBJE = $(DPATH_APPL)\obj\$(NAME)
CC_OPTIONS = $(CXXFLAGS) $(OPTS) $(INCS)
#---action--------------------------------------------------------------
all: make_obj_dir $(TARG)
make_obj_dir:
if not exist $(DPATH_APPL) (mkdir $(DPATH_APPL))
if not exist $(DPATH_LIBR) (mkdir $(DPATH_LIBR))
if not exist $(DPATH_OBJE) (mkdir $(DPATH_OBJE))
$(TARG): $(OBJS)
pushd $(DPATH_OBJE) & lib /wx $? /out:$@ & popd & move $(DPATH_OBJE)\$@ $(DPATH_LIBR)\$@
.cpp.obj:
cl $(CC_OPTIONS) /c $< /Fo$(DPATH_OBJE)/$@
clean_obj:
pushd $(DPATH_OBJE) & del $(OBJS) & popd
rmdir $(DPATH_OBJE)
165 changes: 109 additions & 56 deletions sources/libcpp83gts_callback_and_action/cb_area_and_rot90.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include <algorithm> // std::max(-)
#include <cmath> // rint(-)
#include <FL/fl_ask.H> // fl_alert()
#include "gts_str_language.h" // gts_str::
#include "ids_path_level_from_files.h"
#include "pri.h"
#include "cb_area_and_rot90.h"
Expand Down Expand Up @@ -107,20 +108,26 @@ void cb_area_and_rot90::cb_area_set_max( void )
void cb_area_and_rot90::cb_area_offset_cm_x( void )
{
/* 先:横位置が大きすぎてはみ出す場合、範囲に収める */
if (cl_gts_gui.valout_scanner_size_cm_w->value()
< (cl_gts_gui.valinp_area_offset_cm_x->value() +
cl_gts_gui.valinp_area_size_cm_w->value())
if ( cl_gts_gui.valout_scanner_size_cm_w->value()
< ( cl_gts_gui.valinp_area_offset_cm_x->value() +
cl_gts_gui.valinp_area_size_cm_w->value())
) {
cl_gts_gui.valinp_area_offset_cm_x->value(
cl_gts_gui.valout_scanner_size_cm_w->value() -
cl_gts_gui.valinp_area_size_cm_w->value()
); /* x_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert( "Too Big X!" );
cl_gts_gui.valinp_area_offset_cm_x->value(
cl_gts_gui.valout_scanner_size_cm_w->value() -
cl_gts_gui.valinp_area_size_cm_w->value()
); /* x_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert(
// "Too Big X!"
gts_str::area_and_rot90::offset_cm_x_big
);
}
/* 後:横位置が小さくてはみ出す場合、範囲に収める */
if (cl_gts_gui.valinp_area_offset_cm_x->value() < 0.0) {
cl_gts_gui.valinp_area_offset_cm_x->value(0.0);
fl_alert( "Too Small X!" );
if ( cl_gts_gui.valinp_area_offset_cm_x->value() < 0.0) {
cl_gts_gui.valinp_area_offset_cm_x->value(0.0);
fl_alert(
// "Too Small X!"
gts_str::area_and_rot90::offset_cm_x_small
);
}

this->copy_value_to_opengl(); /* 表示ルーチンにArea設定 */
Expand All @@ -129,20 +136,26 @@ void cb_area_and_rot90::cb_area_offset_cm_x( void )
void cb_area_and_rot90::cb_area_offset_cm_y( void )
{
/* 先:縦位置が大きすぎてはみ出す場合、範囲に収める */
if (cl_gts_gui.valout_scanner_size_cm_h->value()
< (cl_gts_gui.valinp_area_offset_cm_y->value() +
cl_gts_gui.valinp_area_size_cm_h->value())
if ( cl_gts_gui.valout_scanner_size_cm_h->value()
< ( cl_gts_gui.valinp_area_offset_cm_y->value() +
cl_gts_gui.valinp_area_size_cm_h->value())
) {
cl_gts_gui.valinp_area_offset_cm_y->value(
cl_gts_gui.valout_scanner_size_cm_h->value() -
cl_gts_gui.valinp_area_size_cm_h->value()
); /* y_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert( "Too Big Y!" );
cl_gts_gui.valinp_area_offset_cm_y->value(
cl_gts_gui.valout_scanner_size_cm_h->value() -
cl_gts_gui.valinp_area_size_cm_h->value()
); /* y_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert(
// "Too Big Y!"
gts_str::area_and_rot90::offset_cm_y_big
);
}
/* 後:縦位置が小さくてはみ出す場合、範囲に収める */
if (cl_gts_gui.valinp_area_offset_cm_y->value() < 0.0) {
cl_gts_gui.valinp_area_offset_cm_y->value(0.0);
fl_alert( "Too Small Y!" );
if ( cl_gts_gui.valinp_area_offset_cm_y->value() < 0.0) {
cl_gts_gui.valinp_area_offset_cm_y->value(0.0);
fl_alert(
// "Too Small Y!"
gts_str::area_and_rot90::offset_cm_y_small
);
}

this->copy_value_to_opengl(); /* 表示ルーチンにArea設定 */
Expand All @@ -152,20 +165,26 @@ void cb_area_and_rot90::cb_area_offset_cm_y( void )
void cb_area_and_rot90::cb_area_size_cm_w( void )
{
/* 先:横位置が大きすぎてはみ出す場合、範囲に収める */
if (cl_gts_gui.valout_scanner_size_cm_w->value()
< (cl_gts_gui.valinp_area_offset_cm_x->value() +
cl_gts_gui.valinp_area_size_cm_w->value())
if ( cl_gts_gui.valout_scanner_size_cm_w->value()
< ( cl_gts_gui.valinp_area_offset_cm_x->value() +
cl_gts_gui.valinp_area_size_cm_w->value())
) {
cl_gts_gui.valinp_area_size_cm_w->value(
cl_gts_gui.valout_scanner_size_cm_w->value() -
cl_gts_gui.valinp_area_offset_cm_x->value()
); /* x_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert( "Too Big W!" );
cl_gts_gui.valinp_area_size_cm_w->value(
cl_gts_gui.valout_scanner_size_cm_w->value() -
cl_gts_gui.valinp_area_offset_cm_x->value()
); /* x_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert(
// "Too Big W!"
gts_str::area_and_rot90::size_cm_w_big
);
}
/* 後:横位置が小さくてはみ出す場合、範囲に収める */
if (cl_gts_gui.valinp_area_size_cm_w->value() < 0.0) {
cl_gts_gui.valinp_area_size_cm_w->value(0.0);
fl_alert( "Too Small W!" );
if ( cl_gts_gui.valinp_area_size_cm_w->value() < 0.0) {
cl_gts_gui.valinp_area_size_cm_w->value(0.0);
fl_alert(
// "Too Small W!"
gts_str::area_and_rot90::size_cm_w_small
);
}

/* cm幅値からpixel幅値を計算してGUIに表示 */
Expand All @@ -178,21 +197,27 @@ void cb_area_and_rot90::cb_area_size_cm_w( void )
void cb_area_and_rot90::cb_area_size_cm_h( void )
{
/* 先:縦位置が大きすぎてはみ出す場合、範囲に収める */
if (cl_gts_gui.valout_scanner_size_cm_h->value()
< (cl_gts_gui.valinp_area_offset_cm_y->value() +
cl_gts_gui.valinp_area_size_cm_h->value())
if ( cl_gts_gui.valout_scanner_size_cm_h->value()
< ( cl_gts_gui.valinp_area_offset_cm_y->value() +
cl_gts_gui.valinp_area_size_cm_h->value())
) {
cl_gts_gui.valinp_area_size_cm_h->value(
cl_gts_gui.valout_scanner_size_cm_h->value() -
cl_gts_gui.valinp_area_offset_cm_y->value()
); /* y_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert( "Too Big H!" );
cl_gts_gui.valinp_area_size_cm_h->value(
cl_gts_gui.valout_scanner_size_cm_h->value() -
cl_gts_gui.valinp_area_offset_cm_y->value()
); /* y_sizeが大きすぎる(誤値だが...)とマイナスになる */
fl_alert(
// "Too Big H!"
gts_str::area_and_rot90::size_cm_h_big
);
}

/* 後:縦位置が小さくてはみ出す場合、範囲に収める */
if (cl_gts_gui.valinp_area_size_cm_h->value() < 0.0) {
cl_gts_gui.valinp_area_size_cm_h->value(0.0);
fl_alert( "Too Small H!" );
if ( cl_gts_gui.valinp_area_size_cm_h->value() < 0.0) {
cl_gts_gui.valinp_area_size_cm_h->value(0.0);
fl_alert(
// "Too Small H!"
gts_str::area_and_rot90::size_cm_h_small
);
}

/* cm幅値からpixel幅値を計算してGUIに表示 */
Expand Down Expand Up @@ -224,7 +249,9 @@ void cb_area_and_rot90::cb_area_reso( void )
( cl_gts_gui.valinp_area_reso->maximum()
< cl_gts_gui.valinp_area_reso->value())
) {
fl_alert( "Must be %g ... %g DPI"
fl_alert(
// "Must be %g ... %g DPI"
gts_str::area_and_rot90::dpi_out_of_range
,cl_gts_gui.valinp_area_reso->minimum()
,cl_gts_gui.valinp_area_reso->maximum()
);
Expand Down Expand Up @@ -260,7 +287,10 @@ void cb_area_and_rot90::cb_area_reso( void )
&& this->dpi_when_cropped_ != cl_gts_gui.valinp_area_reso->value()
) {
differ_dpi_marking_(true);
fl_alert( "Crop again!" );
fl_alert(
// "Crop again!"
gts_str::area_and_rot90::crop_again
);
}
else {
/* また一回もCropしてない、あるいは
Expand Down Expand Up @@ -466,10 +496,15 @@ const bool cb_area_and_rot90::check_dpi_or_size_from_pixel_( void )
}

/* AreaがScannerMax範囲外だとLimitかける... */
switch (fl_choice("Not inside , Limit..."
,"Cancel"
,"Size"
,"DPI"
switch (fl_choice(
// "Not inside , Limit..."
gts_str::area_and_rot90::not_inside_then_limit
// ,"Cancel"
,gts_str::area_and_rot90::not_inside_then_limit_cancel
// ,"Size"
,gts_str::area_and_rot90::not_inside_then_limit_size
// ,"DPI"
,gts_str::area_and_rot90::not_inside_then_limit_dpi
)) {
case 0: /* Cancel */
return false;
Expand Down Expand Up @@ -702,7 +737,10 @@ const std::string dnd_paste_( const std::string &dnd_str )
{
/* 複数のファイルパスはエラー */
if (std::string::npos != dnd_str.find("\n")) {
return "Error : Need Only 1 Filepath";
return
// "Error : Need Only 1 Filepath"
gts_str::config::need_only_1_filepath
;
}

/* 必要な情報に変える */
Expand All @@ -717,12 +755,18 @@ const std::string dnd_paste_( const std::string &dnd_str )
if (ext == ".txt") {
if (cl_gts_master.cl_memo_config.load_only_area_and_rot90(
dnd_str ) == NG) {
return "Error : at loading area_and_rot90 in config";
return
// "Error : at loading in config"
gts_str::config::loading_config_error
;
}
}
/* 拡張子が対応外エラー */
else {
return "Error : Need Extension .txt";
return
// "Error : Need Extension .txt"
gts_str::config::need_ext_txt
;
}
return std::string();
}
Expand Down Expand Up @@ -769,7 +813,10 @@ void cb_area_and_rot90::cb_dialog_set_aspect_ratio(
void cb_area_and_rot90::cb_valinp_area_aspect_ratio_w_( void )
{
if (cl_gts_gui.valinp_area_aspect_ratio_h->value() <= 0.0) {
fl_alert( "Set H_Aspect_Ratio greater than zero!" );
fl_alert(
// "Set H_Aspect_Ratio greater than zero!"
gts_str::area_and_rot90::bad_aspect_ratio_h
);
return;
}
cl_gts_gui.valinp_area_size_cm_w->value(
Expand All @@ -783,7 +830,10 @@ void cb_area_and_rot90::cb_valinp_area_aspect_ratio_w_( void )
void cb_area_and_rot90::cb_valinp_area_aspect_ratio_h_( void )
{
if (cl_gts_gui.valinp_area_aspect_ratio_w->value() <= 0.0) {
fl_alert( "Set W_Aspect_Ratio greater than zero!" );
fl_alert(
// "Set W_Aspect_Ratio greater than zero!"
gts_str::area_and_rot90::bad_aspect_ratio_w
);
return;
}
cl_gts_gui.valinp_area_size_cm_h->value(
Expand All @@ -803,7 +853,10 @@ void cb_area_and_rot90::cb_ok_aspect_ratio(void)
this->cb_valinp_area_aspect_ratio_w_();
} else
{
fl_alert( "Click H or W button!" );
fl_alert(
// "Click H or W button!"
gts_str::area_and_rot90::click_h_or_w_button
);
}

cl_gts_gui.window_set_aspect_ratio->hide();
Expand Down
7 changes: 7 additions & 0 deletions sources/libcpp83gts_callback_and_action/cb_area_and_rot90.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,13 @@ class cb_area_and_rot90 {
Rot90
*/

enum enum_choice_rot90_type_value {
cw270_type_value // 0 (-90)
,cw000_type_value // 1 (0)
,cw090_type_value // 2 (90)
,cw180_type_value // 3 (180)
};

/* Scanの場合のみ、数値(Offset、Size),画像,表示Area、を回転する */
void cb_rotate_per_90_when_scan( void );

Expand Down
Loading