root / trunk / win / Imagedlg.cpp

Revision 654, 3.0 kB (checked in by leo, 2 years ago)

Added precompiled headers to all source files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1// ImageDlg.cpp : implementation file
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
11static char THIS_FILE[] = __FILE__;
12#endif
13
14/////////////////////////////////////////////////////////////////////////////
15// CImageDlg dialog
16
17
18CImageDlg::CImageDlg(BOOL bHTML, void* param, CWnd* pParent /*=NULL*/)
19    : CDialog(CImageDlg::IDD, pParent)
20{
21    m_bHTML = bHTML;
22    opts = (LC_IMAGEDLG_OPTS*)param;
23
24    //{{AFX_DATA_INIT(CImageDlg)
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    //}}AFX_DATA_INIT
37}
38
39
40void CImageDlg::DoDataExchange(CDataExchange* pDX)
41{
42    CDialog::DoDataExchange(pDX);
43    //{{AFX_DATA_MAP(CImageDlg)
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    //}}AFX_DATA_MAP
56}
57
58
59BEGIN_MESSAGE_MAP(CImageDlg, CDialog)
60    //{{AFX_MSG_MAP(CImageDlg)
61    //}}AFX_MSG_MAP
62END_MESSAGE_MAP()
63
64/////////////////////////////////////////////////////////////////////////////
65// CImageDlg message handlers
66
67BOOL 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
82void 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}
Note: See TracBrowser for help on using the browser.