Classes | Defines | Typedefs | Enumerations | Functions | Variables

globals.h File Reference

#include "utility/xmlstorage.h"
#include "taskbar/favorites.h"
Include dependency graph for globals.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FileTypeInfo
 management of file types More...
struct  FileTypeManager
struct  Icon
struct  SysCacheIcon
struct  IconCache
struct  Desktop
struct  Desktops
struct  ExplorerGlobals
 structure containing global variables of Explorer More...
struct  ResString
 convenient loading of string resources More...
struct  ResIcon
 convenient loading of standard (32x32) icon resources More...
struct  SmallIcon
 convenient loading of small (16x16) icon resources More...
struct  ResIconEx
 convenient loading of icon resources with specified sizes More...
struct  ResBitmap
 convenient loading of bitmap resources More...

Defines

#define ICON_SIZE_SMALL   16
#define ICON_SIZE_MIDDLE   24
#define ICON_SIZE_LARGE   32
#define STARTMENUROOT_ICON_SIZE   ICON_SIZE_MIDDLE
#define ICON_SIZE_FROM_ICF(flags)   (flags&ICF_LARGE? ICON_SIZE_LARGE: flags&ICF_MIDDLE? ICON_SIZE_MIDDLE: ICON_SIZE_SMALL)
#define ICF_FROM_ICON_SIZE(size)   (size>=ICON_SIZE_LARGE? ICF_LARGE: size>=ICON_SIZE_MIDDLE? ICF_MIDDLE: (ICONCACHE_FLAGS)0)
#define DESKTOP_COUNT   4

Typedefs

typedef pair< HWND, DWORD > MinimizeStruct
 desktop management
typedef Desktop DesktopRef

Enumerations

enum  ICON_TYPE { IT_STATIC, IT_CACHED, IT_DYNAMIC, IT_SYSCACHE }
enum  ICON_ID {
  ICID_UNKNOWN, ICID_NONE, ICID_FOLDER, ICID_APP,
  ICID_EXPLORER, ICID_CONFIG, ICID_DOCUMENTS, ICID_FAVORITES,
  ICID_INFO, ICID_APPS, ICID_SEARCH, ICID_ACTION,
  ICID_SEARCH_DOC, ICID_PRINTER, ICID_NETWORK, ICID_COMPUTER,
  ICID_LOGOFF, ICID_SHUTDOWN, ICID_RESTART, ICID_BOOKMARK,
  ICID_MINIMIZE, ICID_CONTROLPAN, ICID_DESKSETTING, ICID_NETCONNS,
  ICID_ADMIN, ICID_RECENT, ICID_DYNAMIC
}

Functions

HBITMAP create_bitmap_from_icon (HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd)
 create a bitmap from an icon
int ImageList_AddAlphaIcon (HIMAGELIST himl, HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd)
 add icon with alpha channel to imagelist using the specified background color
HICON get_window_icon_small (HWND hwnd)
 retrieve icon from window
HICON get_window_icon_big (HWND hwnd, bool allow_from_class=true)
void SetWindowIcon (HWND hwnd, UINT nid)
 set big and small icons out of the resources for a window

Variables

struct ExplorerGlobals g_Globals

Define Documentation

#define DESKTOP_COUNT   4
#define ICF_FROM_ICON_SIZE (   size )    (size>=ICON_SIZE_LARGE? ICF_LARGE: size>=ICON_SIZE_MIDDLE? ICF_MIDDLE: (ICONCACHE_FLAGS)0)

Definition at line 176 of file globals.h.

Referenced by StartMenu::UpdateIcons().

#define ICON_SIZE_FROM_ICF (   flags )    (flags&ICF_LARGE? ICON_SIZE_LARGE: flags&ICF_MIDDLE? ICON_SIZE_MIDDLE: ICON_SIZE_SMALL)

Definition at line 175 of file globals.h.

Referenced by IconCache::extract().

#define ICON_SIZE_LARGE   32

Definition at line 171 of file globals.h.

#define ICON_SIZE_MIDDLE   24

Definition at line 170 of file globals.h.

#define ICON_SIZE_SMALL   16

Definition at line 169 of file globals.h.

Referenced by StartMenu::Create(), create_bitmap_from_icon(), and IconCache::extract().

#define STARTMENUROOT_ICON_SIZE   ICON_SIZE_MIDDLE

Definition at line 173 of file globals.h.

Referenced by IconCache::init(), and DesktopBar::Init().


Typedef Documentation

Definition at line 233 of file globals.h.

typedef pair<HWND, DWORD> MinimizeStruct

desktop management

Definition at line 225 of file globals.h.


Enumeration Type Documentation

enum ICON_ID
Enumerator:
ICID_UNKNOWN 
ICID_NONE 
ICID_FOLDER 
ICID_APP 
ICID_EXPLORER 
ICID_CONFIG 
ICID_DOCUMENTS 
ICID_FAVORITES 
ICID_INFO 
ICID_APPS 
ICID_SEARCH 
ICID_ACTION 
ICID_SEARCH_DOC 
ICID_PRINTER 
ICID_NETWORK 
ICID_COMPUTER 
ICID_LOGOFF 
ICID_SHUTDOWN 
ICID_RESTART 
ICID_BOOKMARK 
ICID_MINIMIZE 
ICID_CONTROLPAN 
ICID_DESKSETTING 
ICID_NETCONNS 
ICID_ADMIN 
ICID_RECENT 
ICID_DYNAMIC 

Definition at line 62 of file globals.h.

enum ICON_TYPE
Enumerator:
IT_STATIC 
IT_CACHED 
IT_DYNAMIC 
IT_SYSCACHE 

Definition at line 55 of file globals.h.


Function Documentation

HBITMAP create_bitmap_from_icon ( HICON  hIcon,
HBRUSH  hbrush_bkgnd,
HDC  hdc_wnd 
)

create a bitmap from an icon

Definition at line 336 of file explorer.cpp.

References ICON_SIZE_SMALL.

Referenced by Icon::create_bitmap(), TaskBar::EnumWndProc(), and ImageList_AddAlphaIcon().

{
    int cx = ICON_SIZE_SMALL;
    int cy = ICON_SIZE_SMALL;
    HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy);

    MemCanvas canvas;
    BitmapSelection sel(canvas, hbmp);

    RECT rect = {0, 0, cx, cy};
    FillRect(canvas, &rect, hbrush_bkgnd);

    DrawIconEx(canvas, 0, 0, hIcon, cx, cy, 0, hbrush_bkgnd, DI_NORMAL);

    return hbmp;
}

Here is the caller graph for this function:

HICON get_window_icon_big ( HWND  hwnd,
bool  allow_from_class = true 
)

Definition at line 347 of file taskbar.cpp.

{
    HICON hIcon = 0;

    SendMessageTimeout(hwnd, WM_GETICON, ICON_BIG, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL2, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (allow_from_class) {
        if (!hIcon)
            hIcon = (HICON)GetClassLong(hwnd, GCL_HICON);

        if (!hIcon)
            hIcon = (HICON)GetClassLong(hwnd, GCL_HICONSM);
    }

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_QUERYDRAGICON, 0, 0, 0, 1000, (LPDWORD)&hIcon);

    return hIcon;
}
HICON get_window_icon_small ( HWND  hwnd )

retrieve icon from window

Definition at line 323 of file taskbar.cpp.

Referenced by TaskBar::EnumWndProc().

{
    HICON hIcon = 0;

    SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL2, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_GETICON, ICON_BIG, 0, SMTO_ABORTIFHUNG, 1000, (LPDWORD)&hIcon);

    if (!hIcon)
        hIcon = (HICON)GetClassLong(hwnd, GCL_HICONSM);

    if (!hIcon)
        hIcon = (HICON)GetClassLong(hwnd, GCL_HICON);

    if (!hIcon)
        SendMessageTimeout(hwnd, WM_QUERYDRAGICON, 0, 0, 0, 1000, (LPDWORD)&hIcon);

    return hIcon;
}

Here is the caller graph for this function:

int ImageList_AddAlphaIcon ( HIMAGELIST  himl,
HICON  hIcon,
HBRUSH  hbrush_bkgnd,
HDC  hdc_wnd 
)

add icon with alpha channel to imagelist using the specified background color

Definition at line 370 of file explorer.cpp.

References create_bitmap_from_icon().

Referenced by Icon::add_to_imagelist(), MainFrameBase::FillBookmarks(), TrayNotifyDlg::InsertItem(), and TrayNotifyDlg::TrayNotifyDlg().

{
    HBITMAP hbmp = create_bitmap_from_icon(hIcon, hbrush_bkgnd, hdc_wnd);

    int ret = ImageList_Add(himl, hbmp, 0);

    DeleteObject(hbmp);

    return ret;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void SetWindowIcon ( HWND  hwnd,
UINT  nid 
)

set big and small icons out of the resources for a window

Definition at line 693 of file explorer.cpp.

References Window_SetIcon.

Referenced by DesktopBar::DesktopBar(), ExplorerAboutDlg::ExplorerAboutDlg(), FindProgramDlg::FindProgramDlg(), and TrayNotifyDlg::TrayNotifyDlg().

{
    HICON hIcon = ResIcon(nid);
    (void)Window_SetIcon(hwnd, ICON_BIG, hIcon);

    HICON hIconSmall = SmallIcon(nid);
    (void)Window_SetIcon(hwnd, ICON_SMALL, hIconSmall);
}

Here is the caller graph for this function:


Variable Documentation


ROS Explorer Source Code Documentation
generated on 02.01.2013 by doxygen

ROS Explorer Homepage