File: winefile.h

package info (click to toggle)
wine 4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 209,096 kB
  • sloc: ansic: 2,906,412; perl: 18,817; yacc: 15,629; makefile: 9,134; objc: 6,543; lex: 4,315; python: 1,786; cpp: 1,042; sh: 771; java: 742; xml: 557; awk: 69; cs: 17
file content (133 lines) | stat: -rw-r--r-- 3,367 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 * Copyright 2000, 2003, 2004, 2005 Martin Fuchs
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#define WIN32_LEAN_AND_MEAN
#define WIN32_EXTRA_LEAN
#define NOSERVICE
#define NOMCX
#define NOIME
#define NOCOMM
#define NOKANJI
#define NORPC
#define NOPROXYSTUB
#define NOIMAGE
#define NOTAPE

#include <windows.h>
#include <commdlg.h>

#ifdef UNICODE
#define _UNICODE
#endif

#include <locale.h>
#include <time.h>

#include <shlwapi.h>
#include <shellapi.h>   /* for ShellExecuteW() */
#include <shlobj.h>

#ifndef FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
#define FILE_ATTRIBUTE_ENCRYPTED            0x00000040
#define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200
#define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000
#endif


#ifdef  _DEBUG
#define ASSERT(x)   {if (!(x)) DebugBreak();}
#else
#define ASSERT(x)   /* nothing */
#endif

#define BUFFER_LEN  1024


enum IMAGE {
    IMG_NONE=-1,    IMG_FILE=0,         IMG_DOCUMENT,   IMG_EXECUTABLE,
    IMG_FOLDER,     IMG_OPEN_FOLDER,    IMG_FOLDER_PLUS,IMG_OPEN_PLUS,  IMG_OPEN_MINUS,
    IMG_FOLDER_UP,  IMG_FOLDER_CUR
};

#define IMAGE_WIDTH         16
#define IMAGE_HEIGHT        13
#define SPLIT_WIDTH         5
#define TREE_LINE_DX        3

#define IDW_STATUSBAR       0x100
#define IDW_TOOLBAR         0x101
#define IDW_DRIVEBAR        0x102
#define IDW_FIRST_CHILD     0xC000  /*0x200*/

#define IDW_TREE_LEFT       3
#define IDW_TREE_RIGHT      6
#define IDW_HEADER_LEFT     2
#define IDW_HEADER_RIGHT    5

#define WM_DISPATCH_COMMAND 0xBF80

#define COLOR_COMPRESSED    RGB(0,0,255)
#define COLOR_SELECTION     RGB(0,0,128)
#define COLOR_SPLITBAR      LTGRAY_BRUSH

#define FRM_CALC_CLIENT     0xBF83
#define Frame_CalcFrameClient(hwnd, prt) (SendMessageW(hwnd, FRM_CALC_CLIENT, 0, (LPARAM)(PRECT)prt))

typedef struct
{
  int       start_x;
  int       start_y;
  int       width;
  int       height;
} windowOptions;

typedef struct
{
  HANDLE    hInstance;
  HACCEL    haccel;
  ATOM      hframeClass;

  HWND      hMainWnd;
  HMENU     hMenuFrame;
  HMENU     hWindowsMenu;
  HMENU     hLanguageMenu;
  HMENU     hMenuView;
  HMENU     hMenuOptions;
  HWND      hmdiclient;
  HWND      hstatusbar;
  HWND      htoolbar;
  HWND      hdrivebar;
  HFONT     hfont;

  WCHAR     num_sep;
  SIZE      spaceSize;
  HIMAGELIST himl;

  WCHAR     drives[BUFFER_LEN];
  BOOL      prescan_node;   /*TODO*/
  BOOL      saveSettings;

  IShellFolder* iDesktop;
  IMalloc*      iMalloc;
  UINT          cfStrFName;
} WINEFILE_GLOBALS;

extern WINEFILE_GLOBALS Globals;

extern void _wsplitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHAR* ext);