File: pvedit.h

package info (click to toggle)
povray 1%3A3.7.0.10-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 147,232 kB
  • sloc: cpp: 845,011; ansic: 122,118; sh: 34,204; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,389; cs: 879; awk: 590; perl: 245; xml: 95
file content (147 lines) | stat: -rw-r--r-- 5,059 bytes parent folder | download | duplicates (6)
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*******************************************************************************
 * pvedit.h
 *
 * This file contains editor support code.
 *
 * Author: Christopher J. Cason.
 *
 * ---------------------------------------------------------------------------
 * Persistence of Vision Ray Tracer ('POV-Ray') version 3.7.
 * Copyright 1991-2013 Persistence of Vision Raytracer Pty. Ltd.
 *
 * POV-Ray is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * POV-Ray 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * ---------------------------------------------------------------------------
 * POV-Ray is based on the popular DKB raytracer version 2.12.
 * DKBTrace was originally written by David K. Buck.
 * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
 * ---------------------------------------------------------------------------
 * $File: //depot/public/povray/3.x/windows/pvedit.h $
 * $Revision: #1 $
 * $Change: 6069 $
 * $DateTime: 2013/11/06 11:59:40 $
 * $Author: chrisc $
 *******************************************************************************/

#ifndef PVEDIT_H_INCLUDED
#define PVEDIT_H_INCLUDED

#define EDITDLLVERSION            0x0302

#define MAX_EDITORS               32

#define EDIT_CAN_OPEN             0x01
#define EDIT_CAN_CLOSE            0x02
#define EDIT_CAN_WRITE            0x04
#define EDIT_CAN_UNDO             0x08
#define EDIT_CAN_REDO             0x10
#define EDIT_MSG_SELECTED         0x20
#define EDIT_CURRENT_MODIFIED     0x40
#define EDIT_ANY_MODIFIED         0x80
#define EDIT_DRAG_ACTIVE          0x100

#define RENDER_MESSAGE            WM_USER + 1000
#define CREATE_RENDERWIN_MESSAGE  WM_USER + 1005
#define CLOSE_EDITOR_MESSAGE      WM_USER + 1010
#define CREATE_EDITOR_MESSAGE     WM_USER + 1015
#define EDITOR_RENDER_MESSAGE     WM_USER + 1020
#define SHOW_MESSAGES_MESSAGE     WM_USER + 1025
#define KEYWORD_LOOKUP_MESSAGE    WM_USER + 1030
#define RENDERWIN_CLOSE_MESSAGE   WM_USER + 1035
#define HIDE_NEWUSER_HELP_MESSAGE WM_USER + 1040
#define COPY_COMMANDLINE_MESSAGE  WM_USER + 1045
#define POVMS_QUEUE_MESSAGE       WM_USER + 1050
#define TASKBAR_NOTIFY_MESSAGE    WM_USER + 1100 // reserved 1100-1199
#define GUIEXT_CREATE_EDITOR      WM_USER + 1200 // reserved 1200-1299

// NOTE: REGKEY and REGVERKEY are also used to construct the default path to the
// documents directory if it is not found in the registry, hence must be valid
// path components as well as valid registry keys.
#define REGKEY                    "POV-Ray"
#define REGVERKEY                 "v3.7"

namespace povwin
{

enum
{
  GetFileMenu,
  GetEditMenu,
  GetSearchMenu,
  GetTextMenu,
  GetInsertMenu,
  GetOptionsMenu,
  GetAppearanceMenu,
  GetWindowMenu
} ;

enum
{
  NotifyTabChange,
  NotifyEditStateChange,
  NotifyModifiedChange,
  NotifyExitRequest,
  NotifyFocusSaveModified
} ;

typedef enum
{
  StatusMessage,
  StatusMem,
  StatusLine,
  StatusCol,
  StatusIns,
  StatusModified,
  StatusPPS,
  StatusRendertime,
  StatusLast
} StatusBarSection ;

bool LoadEditorDLL (char *path, bool missingOK) ;
HWND InitialiseEditor (HWND ParentWindow, HWND StatusWindow, const char *BinariesPath, const char *DocumentsPath) ;
void SetEditorPosition (int x, int y, int w, int h) ;
void EditSetMessageWindow (HWND MessageWindow) ;
void EditRestoreState (int RestoreFiles) ;
void EditSaveState (void) ;
bool EditSelectFile (char *FileName) ;
bool EditBrowseFile (bool CreateNewWindow) ;
bool EditOpenFile (char *FileName) ;
bool EditCloseFile (char *FileName) ;
bool EditSaveFile (char *FileName) ;
bool EditExternalOpenFile (char *ParamString) ;
DWORD EditGetTab (void) ;
DWORD EditGetFlags (void) ;
char *EditGetFilename (bool IncludeModifiedIndicator) ;
void EditNextTab (bool Forward) ;
bool EditCanClose (bool AllFiles) ;
bool EditSaveModified (char *FileName) ;
bool EditEnabled (void) ;
void EditSetState (bool on) ;
bool EditShowMessages (bool on) ;
void EditDispatchMenuId (DWORD id) ;
void EditSetVisible (bool visible) ;
HMENU EditGetMenu (int which) ;
void EditUnload (void) ;
void EditSetNotifyBase (HWND WindowHandle, int MessageBase) ;
void EditUpdateMenus (HMENU MenuHandle) ;
void EditContextHelp (void) ;
void EditSetFocus (void) ;
bool EditShowParseError (const char *FileName, const char *Message, int Line, int Col) ;
bool EditPassOnMessage (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, DWORD *rVal) ;
void EditSetKeywords (LPCSTR SDLKeywords, LPCSTR INIKeywords) ;
const char **EditGetWindowList(void);

}

#endif // PVEDIT_H_INCLUDED