| 1 | |
|---|
| 2 | |
|---|
| 3 | |
|---|
| 4 | #include "lc_global.h" |
|---|
| 5 | #include "leocad.h" |
|---|
| 6 | #include "ImageDlg.h" |
|---|
| 7 | |
|---|
| 8 | #ifdef _DEBUG |
|---|
| 9 | #define new DEBUG_NEW |
|---|
| 10 | #undef THIS_FILE |
|---|
| 11 | static char THIS_FILE[] = __FILE__; |
|---|
| 12 | #endif |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | |
|---|
| 17 | |
|---|
| 18 | CImageDlg::CImageDlg(BOOL bHTML, void* param, CWnd* pParent ) |
|---|
| 19 | : CDialog(CImageDlg::IDD, pParent) |
|---|
| 20 | { |
|---|
| 21 | m_bHTML = bHTML; |
|---|
| 22 | opts = (LC_IMAGEDLG_OPTS*)param; |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | m_nFormat = opts->imopts.format; |
|---|
| 26 | m_bTransparent = opts->imopts.transparent; |
|---|
| 27 | m_bProgressive = opts->imopts.interlaced; |
|---|
| 28 | m_bHighcolor = opts->imopts.truecolor; |
|---|
| 29 | m_nQuality = opts->imopts.quality; |
|---|
| 30 | m_fPause = opts->imopts.pause; |
|---|
| 31 | m_nHeight = opts->height; |
|---|
| 32 | m_nWidth = opts->width; |
|---|
| 33 | m_nFrom = opts->from; |
|---|
| 34 | m_nTo = opts->to; |
|---|
| 35 | m_nSingle = opts->multiple ? 1 : 0; |
|---|
| 36 | |
|---|
| 37 | } |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | void CImageDlg::DoDataExchange(CDataExchange* pDX) |
|---|
| 41 | { |
|---|
| 42 | CDialog::DoDataExchange(pDX); |
|---|
| 43 | |
|---|
| 44 | DDX_Radio(pDX, IDC_IMGDLG_BMP, m_nFormat); |
|---|
| 45 | DDX_Check(pDX, IDC_IMGDLG_TRANSPARENT, m_bTransparent); |
|---|
| 46 | DDX_Check(pDX, IDC_IMGDLG_PROGRESSIVE, m_bProgressive); |
|---|
| 47 | DDX_Text(pDX, IDC_IMGDLG_HEIGHT, m_nHeight); |
|---|
| 48 | DDX_Check(pDX, IDC_IMGDLG_HIGHCOLOR, m_bHighcolor); |
|---|
| 49 | DDX_Text(pDX, IDC_IMGDLG_QUALITY, m_nQuality); |
|---|
| 50 | DDX_Text(pDX, IDC_IMGDLG_WIDTH, m_nWidth); |
|---|
| 51 | DDX_Text(pDX, IDC_IMGDLG_FROM, m_nFrom); |
|---|
| 52 | DDX_Text(pDX, IDC_IMGDLG_PAUSE, m_fPause); |
|---|
| 53 | DDX_Radio(pDX, IDC_IMGDLG_SINGLE, m_nSingle); |
|---|
| 54 | DDX_Text(pDX, IDC_IMGDLG_TO, m_nTo); |
|---|
| 55 | |
|---|
| 56 | } |
|---|
| 57 | |
|---|
| 58 | |
|---|
| 59 | BEGIN_MESSAGE_MAP(CImageDlg, CDialog) |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | END_MESSAGE_MAP() |
|---|
| 63 | |
|---|
| 64 | |
|---|
| 65 | |
|---|
| 66 | |
|---|
| 67 | BOOL CImageDlg::OnInitDialog() |
|---|
| 68 | { |
|---|
| 69 | if (m_bHTML) |
|---|
| 70 | { |
|---|
| 71 | UINT u[6] = { IDC_IMGDLG_SINGLE, IDC_IMGDLG_MULTIPLE, IDC_IMGDLG_FROM, |
|---|
| 72 | IDC_IMGDLG_TO, IDC_IMGDLG_AVI, IDC_IMGDLG_PAUSE }; |
|---|
| 73 | |
|---|
| 74 | for (int i = 0; i < 6; i++) |
|---|
| 75 | GetDlgItem(u[i])->EnableWindow(FALSE); |
|---|
| 76 | } |
|---|
| 77 | |
|---|
| 78 | CDialog::OnInitDialog(); |
|---|
| 79 | return TRUE; |
|---|
| 80 | } |
|---|
| 81 | |
|---|
| 82 | void CImageDlg::OnOK() |
|---|
| 83 | { |
|---|
| 84 | if (!UpdateData(TRUE)) |
|---|
| 85 | return; |
|---|
| 86 | |
|---|
| 87 | opts->imopts.format = m_nFormat; |
|---|
| 88 | opts->imopts.transparent = m_bTransparent != 0; |
|---|
| 89 | opts->imopts.interlaced = m_bProgressive != 0; |
|---|
| 90 | opts->imopts.truecolor = m_bHighcolor != 0; |
|---|
| 91 | opts->imopts.quality = m_nQuality; |
|---|
| 92 | opts->imopts.pause = m_fPause; |
|---|
| 93 | opts->height = m_nHeight; |
|---|
| 94 | opts->width = m_nWidth; |
|---|
| 95 | opts->from = m_nFrom; |
|---|
| 96 | opts->to = m_nTo; |
|---|
| 97 | opts->multiple = m_nSingle != 0; |
|---|
| 98 | |
|---|
| 99 | if (!m_bHTML) |
|---|
| 100 | { |
|---|
| 101 | DWORD dwImage = m_nFormat; |
|---|
| 102 | if (m_bProgressive) |
|---|
| 103 | dwImage |= LC_IMAGE_PROGRESSIVE; |
|---|
| 104 | if (m_bTransparent) |
|---|
| 105 | dwImage |= LC_IMAGE_TRANSPARENT; |
|---|
| 106 | if (m_bHighcolor) |
|---|
| 107 | dwImage |= LC_IMAGE_HIGHCOLOR; |
|---|
| 108 | |
|---|
| 109 | theApp.WriteProfileInt("Default", "Image Options", dwImage); |
|---|
| 110 | theApp.WriteProfileInt("Default", "Image Width", m_nWidth); |
|---|
| 111 | theApp.WriteProfileInt("Default", "Image Height", m_nHeight); |
|---|
| 112 | theApp.WriteProfileInt("Default", "AVI Pause", (int)(m_fPause*100)); |
|---|
| 113 | } |
|---|
| 114 | |
|---|
| 115 | theApp.WriteProfileInt("Default", "JPEG Quality", m_nQuality); |
|---|
| 116 | |
|---|
| 117 | CDialog::OnOK(); |
|---|
| 118 | } |
|---|