Skip to content

Commit

Permalink
version 1.17.0.16129
Browse files Browse the repository at this point in the history
  • Loading branch information
cbucher committed May 8, 2016
1 parent 2cdda4f commit 6ea887f
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 50 deletions.
20 changes: 20 additions & 0 deletions Console/AboutDlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,25 @@ LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lPara
groupBox.ShowWindow(SW_HIDE);

this->OpenThemeData(VSCLASS_WINDOW);

CIcon icon (static_cast<HICON>(
::LoadImage(
::GetModuleHandle(NULL),
MAKEINTRESOURCE(IDR_MAINFRAME),
IMAGE_ICON,
256,
256,
LR_DEFAULTCOLOR)));

//get the icon info
ICONINFO ii;
::GetIconInfo(icon, &ii);
//GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO.
//The calling application must manage these bitmaps and delete them when they are no longer necessary.
m_bmIcon.Attach(ii.hbmColor);
CBitmap bmMask(ii.hbmMask);

SetTimer(42, 40);
#else
CString strMsg;
strMsg.Format(L"\nConsoleZ %i.%i.%i.%i\n", VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD, VERSION_BUILD2);
Expand All @@ -32,6 +51,7 @@ LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lPara

LRESULT CAboutDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
KillTimer(42);
EndDialog(wID);
return 0;
}
102 changes: 83 additions & 19 deletions Console/AboutDlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class CAboutDlg :
BEGIN_MSG_MAP(CAboutDlg)
#ifdef _USE_AERO
CHAIN_MSG_MAP(aero::CDialogImpl<CAboutDlg>)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
#endif
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
Expand All @@ -31,28 +32,54 @@ class CAboutDlg :
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
#ifdef _USE_AERO
LRESULT OnTimer(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CWindow staticMessage(GetDlgItem(IDC_STATIC));
CRect rectVersion;
staticMessage.GetWindowRect(rectVersion);
ScreenToClient(rectVersion);

InvalidateRect(rectVersion, FALSE);
UpdateWindow();
return 0;
}

//generate the palette
unsigned char ColorR[256];
unsigned char ColorG[256];
unsigned char ColorB[256];
unsigned char ColorA[256];

int plasma[256][256];

CAboutDlg()
{
for( int x = 0; x < 256; x++ )
{
ColorR[x] = 255;
ColorG[x] = static_cast<unsigned char>(128.0 + 127.0 * cos(3.1415 * x / 128.0));
ColorB[x] = static_cast<unsigned char>(128.0 + 127.0 * sin(3.1415 * x / 128.0));
ColorA[x] = static_cast<unsigned char>(160.0 - 32.0 * sin(3.1415 * x / 32.0));
}

for( int y = 0; y < 256; y++ )
for( int x = 0; x < 256; x++ )
{
plasma[y][x] = 128 + static_cast<int>(128.0 * (sin(x / 16.0) + sin(y / 8.0) + sin((x + y) / 16.0) + sin(sqrt(double(x * x + y * y)) / 8.0))) / 4;
}
}

CBitmap m_bmIcon;

void Paint(CDCHandle dc, RECT& rClient, RECT& rView, RECT& rDest)
{
aero::CDialogImpl<CAboutDlg>::Paint(dc, rClient, rView, rDest);

CPaintDC(*this);
Gdiplus::Graphics gr(dc);

CIcon icon (static_cast<HICON>(
::LoadImage(
::GetModuleHandle(NULL),
MAKEINTRESOURCE(IDR_MAINFRAME),
IMAGE_ICON,
256,
256,
LR_DEFAULTCOLOR)));

//get the icon info
ICONINFO ii;
GetIconInfo(icon, &ii);

//create a bitmap from the ICONINFO so we can access the bitmapData
Gdiplus::Bitmap bmpIcon(ii.hbmColor, NULL);
Gdiplus::Bitmap bmpIcon(m_bmIcon, NULL);
Gdiplus::Rect rectBounds(0, 0, bmpIcon.GetWidth(), bmpIcon.GetHeight() );

//get the BitmapData
Expand All @@ -61,7 +88,7 @@ class CAboutDlg :
bmpIcon.GetPixelFormat(), &bmData);

// create a new 32 bit bitmap using the bitmapData
Gdiplus::Bitmap bmpAlpha(bmData.Width, bmData.Height, bmData.Stride,
Gdiplus::Bitmap bmpIconAlpha(bmData.Width, bmData.Height, bmData.Stride,
PixelFormat32bppARGB, (BYTE*)bmData.Scan0);
bmpIcon.UnlockBits(&bmData);

Expand All @@ -70,22 +97,58 @@ class CAboutDlg :
staticMessage.GetWindowRect(rectVersion);
ScreenToClient(rectVersion);

Gdiplus::Bitmap bmpPlasma(rectVersion.Width(), rectVersion.Height(), PixelFormat32bppARGB);
Gdiplus::Rect rectPlasmaBounds(0, 0, bmpPlasma.GetWidth(), bmpPlasma.GetHeight());
Gdiplus::BitmapData bmdPlasma;
bmpPlasma.LockBits(&rectPlasmaBounds, Gdiplus::ImageLockModeWrite,
bmpPlasma.GetPixelFormat(), &bmdPlasma);

unsigned char * dest = static_cast<unsigned char *>(bmdPlasma.Scan0);

int paletteShift = int(::GetTickCount() / 16);

for( int ypos = 0; ypos < rectVersion.Height(); ++ypos )
{
unsigned char * startdest = dest;

for( int xpos = 0; xpos < rectVersion.Width(); ++xpos )
{
int color = static_cast<int>(plasma[ypos % 256][xpos % 256] + paletteShift) % 256;
// ARGB little endian
*dest++ = ColorB[color]; // blue
*dest++ = ColorG[color]; // green
*dest++ = ColorR[color]; // red
*dest++ = ColorA[color]; // alpha
}

dest = startdest + bmdPlasma.Stride;
}

bmpPlasma.UnlockBits(&bmdPlasma);

INT len = min(rectVersion.Width(), rectVersion.Height());
Gdiplus::Rect rect2(
rectVersion.left + (rectVersion.Width() - len) / 2,
rectVersion.top + (rectVersion.Height() - len),
len, len);

gr.DrawImage(
&bmpAlpha,
&bmpIconAlpha,
rect2,
0, 0,
256, 256,
bmpIconAlpha.GetWidth(), bmpIconAlpha.GetHeight(),
Gdiplus::Unit::UnitPixel);

gr.DrawImage(
&bmpPlasma,
rectVersion.left, rectVersion.top,
0, 0,
bmdPlasma.Width, bmdPlasma.Height,
Gdiplus::Unit::UnitPixel);

INT flatLen = rectVersion.Height() / 2;

Gdiplus::SolidBrush brush(Gdiplus::Color(140,0,0,0));
Gdiplus::SolidBrush brush(Gdiplus::Color(200,0,0,0));
gr.FillRectangle(
&brush,
Gdiplus::Rect(
Expand All @@ -95,7 +158,7 @@ class CAboutDlg :
Gdiplus::LinearGradientBrush linGrBrush(
Gdiplus::Point(0, rectVersion.top + flatLen - 1),
Gdiplus::Point(0, rectVersion.bottom),
Gdiplus::Color(140,0,0,0),
Gdiplus::Color(200,0,0,0),
Gdiplus::Color(64,0,0,0));
gr.FillRectangle(
&linGrBrush,
Expand All @@ -114,5 +177,6 @@ class CAboutDlg :
::SelectObject(dc, AtlGetDefaultGuiFont());
this->DrawTextW(dc, strMsgVersion.c_str(), rectVersion, DT_CENTER, dtto);
}

#endif
};
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Changelog
+ added
* fixed

Changes in 1.17.0 (29 apr 2016)
Changes in 1.17.0 (08 may 2016)

! Rebuild FreeImage 3.17.0 (static link without OpenMP)
- ConsoleZ sets the current Windows console font to "Lucidia Console" size 5.
Expand Down
52 changes: 26 additions & 26 deletions l10n/DEU/console.rc
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ BEGIN

CONTROL "",IDC_TABS_CONTROLS,"SysTabControl32",TCS_BUTTONS | TCS_FLATBUTTONS | WS_TABSTOP,5,165,225,95

CONTROL "Menu anzeigen",IDC_CHECK_SHOW_MENU,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,178,100,16
CONTROL "Menü anzeigen",IDC_CHECK_SHOW_MENU,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,178,100,16
CONTROL "Toolbar anzeigen",IDC_CHECK_SHOW_TOOLBAR,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,194,100,16
CONTROL "Suchfeld anzeigen",IDC_CHECK_SHOW_SEARCH_BAR,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,210,100,16
CONTROL "Statusbalken anzeigen",IDC_CHECK_SHOW_STATUS,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,10,226,100,16
Expand Down Expand Up @@ -625,33 +625,33 @@ IDR_MAINFRAME MENU
BEGIN
POPUP "Datei"
BEGIN
MENUITEM "Neuer Tab", ID_FILE_NEW_TAB
MENUITEM "Tab schliessen", ID_FILE_CLOSE_TAB
MENUITEM "&Neuer Tab", ID_FILE_NEW_TAB
MENUITEM "&Tab schliessen", ID_FILE_CLOSE_TAB
MENUITEM "Alle Tabs ausser diesem schliessen", ID_FILE_CLOSE_ALL_TABS_BUT_THIS
MENUITEM "Alle Tabs nach links schliessen", ID_FILE_CLOSE_ALL_TABS_LEFT
MENUITEM "All Tabs nach rechts schliessen", ID_FILE_CLOSE_ALL_TABS_RIGHT
MENUITEM SEPARATOR
MENUITEM "Ansicht schliessen", ID_CLOSE_VIEW
MENUITEM "Ansicht trennen", ID_DETACH_VIEW
MENUITEM "&Ansicht schliessen", ID_CLOSE_VIEW
MENUITEM "&Ansicht trennen", ID_DETACH_VIEW
MENUITEM SEPARATOR
MENUITEM "Konsole anhängen", ID_ATTACH_CONSOLES
MENUITEM SEPARATOR
MENUITEM "Schliessen", ID_APP_EXIT
END
POPUP "Editieren"
BEGIN
MENUITEM "Kopieren", ID_EDIT_COPY
MENUITEM "&Kopieren", ID_EDIT_COPY
MENUITEM "Alles auswählen", ID_EDIT_SELECT_ALL
MENUITEM "Auswahl aufheben", ID_EDIT_CLEAR_SELECTION
MENUITEM "Einfügen", ID_EDIT_PASTE
MENUITEM "&Einfügen", ID_EDIT_PASTE
MENUITEM "Auswahl einfügen", ID_PASTE_SELECTION
MENUITEM SEPARATOR
MENUITEM "Insert Snippet", ID_EDIT_INSERT_SNIPPET
MENUITEM SEPARATOR
MENUITEM "Scroll-stop", ID_EDIT_STOP_SCROLLING
MENUITEM "Resume Scrolling", ID_EDIT_RESUME_SCROLLING
MENUITEM SEPARATOR
MENUITEM "Tab umbenennen", ID_EDIT_RENAME_TAB
MENUITEM "&Tab umbenennen", ID_EDIT_RENAME_TAB
MENUITEM SEPARATOR
MENUITEM "Horizontal splitten", ID_SPLIT_HORIZ
MENUITEM "Vertikal splitten", ID_SPLIT_VERT
Expand All @@ -665,7 +665,7 @@ BEGIN
MENUITEM "Konsolen Fenster", ID_VIEW_CONSOLE
MENUITEM "Font Information...", ID_FONT_INFO
MENUITEM SEPARATOR
MENUITEM "&Menu", ID_VIEW_MENU
MENUITEM "&Menü", ID_VIEW_MENU
MENUITEM "Werkzeugleiste", ID_VIEW_TOOLBAR
MENUITEM "Suchfeld", ID_VIEW_SEARCH_BAR
MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
Expand All @@ -688,20 +688,20 @@ BEGIN

POPUP "Tab"
BEGIN
MENUITEM "Tab schliessen", ID_FILE_CLOSE_TAB
MENUITEM "&Tab schliessen", ID_FILE_CLOSE_TAB
MENUITEM "Alle Tabs ausser diesem schliessen", ID_FILE_CLOSE_ALL_TABS_BUT_THIS
MENUITEM "Alle Tabs nach links schliessen", ID_FILE_CLOSE_ALL_TABS_LEFT
MENUITEM "All Tabs nach rechts schliessen", ID_FILE_CLOSE_ALL_TABS_RIGHT
MENUITEM SEPARATOR
MENUITEM "Ansicht schliessen", ID_CLOSE_VIEW
MENUITEM "Ansicht trennen", ID_DETACH_VIEW
MENUITEM "&Ansicht schliessen", ID_CLOSE_VIEW
MENUITEM "&Ansicht trennen", ID_DETACH_VIEW
MENUITEM SEPARATOR
MENUITEM "Insert Snippet", ID_EDIT_INSERT_SNIPPET
MENUITEM SEPARATOR
MENUITEM "Scroll-stop", ID_EDIT_STOP_SCROLLING
MENUITEM "Resume Scrolling", ID_EDIT_RESUME_SCROLLING
MENUITEM SEPARATOR
MENUITEM "Tab umbenennen", ID_EDIT_RENAME_TAB
MENUITEM "&Tab umbenennen", ID_EDIT_RENAME_TAB
MENUITEM SEPARATOR
MENUITEM "Horizontal splitten", ID_SPLIT_HORIZ
MENUITEM "Vertikal splitten", ID_SPLIT_VERT
Expand Down Expand Up @@ -797,8 +797,8 @@ STRINGTABLE
BEGIN
ID_EDIT_CLEAR "Fenster leeren\nleeren"
ID_EDIT_CLEAR_ALL "Alles löschen\nAlles löschen"
ID_EDIT_COPY "Auswahl zum Clipboard kopieren"
ID_EDIT_CUT "Auswahl ausschneiden und auf Clipboard legen\nAusschneiden"
ID_EDIT_COPY "Auswahl in die Zwischenablage kopieren"
ID_EDIT_CUT "Auswahl ausschneiden und auf Clipboard legen\nausschneiden"
ID_EDIT_FIND "Finde angegebenen Text\nFinde"
ID_EDIT_PASTE "Ins Clipboard schreiben\nEinfügen"
ID_PASTE_SELECTION "Ausgewählter Text einfügen\nAuswahl einfügen"
Expand All @@ -819,7 +819,7 @@ BEGIN
ID_FILE_CLOSE_ALL_TABS_LEFT "Alle Tabs nach links schliessen"
ID_FILE_CLOSE_ALL_TABS_RIGHT "Alle Tabs nach rechts schliessen"
ID_FONT_INFO "Font information von versteckter Konsole anzeigen"
ID_VIEW_MENU "Menu anzeigen oder verstecken"
ID_VIEW_MENU "Menü anzeigen oder verstecken"
ID_VIEW_TABS "Tabs anzeigen oder verstecken"
ID_VIEW_TOOLBAR "Werkzeugleiste anzeigen oder verstecken" ----
ID_VIEW_SEARCH_BAR "Suchfeld anzeigen oder verstecken"
Expand All @@ -835,12 +835,12 @@ BEGIN
ID_PREV_VIEW "Zur vorherigen Ansicht wechseln\nVorherige Ansicht"
ID_CLOSE_VIEW "Jetztige Ansicht schlissen\nAnsicht schliessen"
ID_DETACH_VIEW "Aktuelle Ansicht abhängen\nAnsicht abhängen"
ID_ATTACH_CONSOLES "Konsole anhängen\nKonsole anhängen"
ID_ATTACH_CONSOLES "Konsole anhängen\nKonsolen anhängen"
ID_SPLIT_HORIZ "Aktuelle Ansicht horizontal spalten\nHorizontal spalten"
ID_SPLIT_VERT "Aktuelle Ansicht vertikal spalten\nVertikal spalten"
ID_SPLIT_SWAP "Mit vorheriger Ansicht mit Fokus austauschen\nAnsicht austauschen"

ID_CLONE_IN_NEW_TAB "Ansicht in neuem Tab Klonen\nIn neuem tab Klonen"
ID_CLONE_IN_NEW_TAB "Ansicht in neuem Tab klonen\nIn neuem Tab klonen"
ID_VIEW_FULLSCREEN "Full screen ein-/ausschalten\nFull Screen"
ID_GROUP_ALL "All Konsolen so grupieren, dass Eingaben auf jedem Tab auf allen anderen ausgeführt wird.\nTab Gruppe"
ID_UNGROUP_ALL "Alle Gruppierungen aufheben\nGruppierungen aufheben"
Expand Down Expand Up @@ -928,7 +928,7 @@ BEGIN
"Konfig Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*||"

MSG_MAINFRAME_CLOSE_ALL_TABS
"Wirklick alle tabs schliessen?"
"Wirklich alle Tabs schliessen?"
MSG_MAINFRAME_CLOSE_ALL_VIEWS
"Wirklich alle Ansichten schliessen?"
MSG_MAINFRAME_SEARCH
Expand Down Expand Up @@ -976,8 +976,8 @@ BEGIN

IDS_NEXT_TAB "Zum nächsten Tab wechseln"
IDS_PREV_TAB "Zur vorhärigen Ansicht wechseln"
IDS_MOVE_TAB_LEFT "Bewege tab Fokus nach links"
IDS_MOVE_TAB_RIGHT "Bewege tab Fokus nach rechts"
IDS_MOVE_TAB_LEFT "Bewege Tab Fokus nach links"
IDS_MOVE_TAB_RIGHT "Bewege Tab Fokus nach rechts"

IDS_FILE_CLOSE_TAB "Tab schliessen"
IDS_EDIT_RENAME_TAB "Tab umbenennen"
Expand Down Expand Up @@ -1028,7 +1028,7 @@ IDS_SCROLL_RIGHT "Scroll Puffer Spalte rechts"
IDS_SCROLL_PAGE_LEFT "Scroll Puffer Seite nach-links"
IDS_SCROLL_PAGE_RIGHT "Scroll Puffer Seite nach-rechts"

IDS_FIND "Finde text"
IDS_FIND "Finde Text"
IDS_SEARCH_NEXT "Finde nächstes"
IDS_SEARCH_PREV "Finde vorheriges"

Expand All @@ -1039,7 +1039,7 @@ IDS_DUMP_BUFFER "Fenster Puffer ausgeben"
IDS_SHOW_CONTEXT_MENU_1 "Kontextmenu #1 anzeigen"
IDS_SHOW_CONTEXT_MENU_2 "Kontextmenu #2 anzeigen"
IDS_SHOW_CONTEXT_MENU_3 "Kontextmenu #3 anzeigen"
ID_SHOW_CONTEXT_MENU_SNIPPETS "Show Snippets context menu"
ID_SHOW_CONTEXT_MENU_SNIPPETS "Snippets-Menü anzeigen"

IDS_SEND_CTRL_C "Sende CTRL-C Event"

Expand Down Expand Up @@ -1081,11 +1081,11 @@ IDS_MOUSE_SELECT "Text auswählen"
IDS_MOUSE_COLUMNSELECT "Spalte auswählen"
IDS_MOUSE_PASTE "Text einfügen"
IDS_MOUSE_DRAG "Fenster verschieben"
IDS_MOUSE_LINK "Link ancklicken"
IDS_MOUSE_LINK "Link anklicken"
IDS_MOUSE_MENU1 "Kontext menu #1"
IDS_MOUSE_MENU2 "Kontext menu #2"
IDS_MOUSE_MENU3 "Kontext menu #3"
IDS_MOUSE_SNIPPETS "Snippets context menu"
IDS_MOUSE_SNIPPETS "Snippets Kontext Menü"
END

STRINGTABLE
Expand Down Expand Up @@ -1121,7 +1121,7 @@ IDC_COMBO_DOCKING "Leer;Oben Links;Oben rechts;Unten links;Unten rech
IDC_COMBO_ZORDER "Regulär;Immer oben;Immer unten;am desktop befestigt;"
IDC_COMBO_SMOOTHING "Default;None;ClearType;Natural ClearType;Antialiased"
IDC_COMBO_BUTTONS "Leer;Links;Rechts;Mitte;Viertes;Fünftes;"
IDC_COMBO_BK_POS "Zentrum;Strecken,Titel,Passend,Füllend"
IDC_COMBO_BK_POS "Zentrieren;Strecken,Titel,Passend,Füllen"
IDC_COMBO_FULLSCREEN_MONITOR "Aktuell;"
IDC_COMBO_BASE_PRIORITY "Warten;Niedrig;Normal;Höher;Hoch;Echtzeit;"
IDC_COMBO_STATE "Normal window;Minimized;Maximized;Full screen;"
Expand Down
Loading

0 comments on commit 6ea887f

Please sign in to comment.