main.cpp
author viric@mandarina
Sat, 01 Nov 2008 20:57:17 +0100
changeset 0 7e720dcafcaf
child 2 b2772bffb62f
permissions -rw-r--r--
First checkin. It works enough.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     1
#include <wx/wx.h>
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     2
#include <wx/log.h>
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     3
#include <wx/image.h>
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     4
#include <wx/string.h>
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     5
#include <wx/init.h>
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     6
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     7
#include "MainWindow.hpp"
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     8
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
     9
class MyApp : public wxApp
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    10
{
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    11
    public:
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    12
        virtual bool OnInit();
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    13
};
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    14
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    15
IMPLEMENT_APP(MyApp)
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    16
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    17
bool MyApp::OnInit()
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    18
{
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    19
    if (argc < 2)
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    20
        return false;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    21
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    22
    ::wxInitAllImageHandlers();
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    23
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    24
    wxString filename(argv[1]);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    25
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    26
    wxLogVerbose(_T("Opening file %s."), filename.c_str());
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    27
    wxImage img(filename);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    28
    if (!img.IsOk())
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    29
        return false;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    30
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    31
    CropArea area;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    32
    if (argc < 6)
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    33
    {
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    34
        area.x = 0;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    35
        area.y = 0;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    36
        area.width = 0;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    37
        area.height = 0;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    38
    }
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    39
    else
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    40
    {
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    41
        wxString(argv[2]).ToLong(&area.x);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    42
        wxString(argv[3]).ToLong(&area.y);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    43
        wxString(argv[4]).ToLong(&area.width);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    44
        wxString(argv[5]).ToLong(&area.height);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    45
    }
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    46
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    47
    img.Rescale(img.GetWidth()/3, img.GetHeight()/3);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    48
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    49
    wxSize size(img.GetWidth(), img.GetHeight());
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    50
    MainWindow *mw = new MainWindow(img, area, size);
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    51
    mw->Show();
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    52
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    53
    return true;
7e720dcafcaf First checkin. It works enough.
viric@mandarina
parents:
diff changeset
    54
}