Skip to content

Commit 9e3812d

Browse files
author
Fraser J. Gordon
committed
Merge branch 'modular' into widgets-plumbing
Conflicts: engine/src/widget.cpp
2 parents 199f8cd + 1a1b199 commit 9e3812d

37 files changed

Lines changed: 1550 additions & 939 deletions

engine/engine.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@
295295
4D79B8991A36050800DD750C /* sysunxthreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8981A3604F200DD750C /* sysunxthreads.cpp */; };
296296
4D79B89B1A36055B00DD750C /* platform-recorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B89A1A36054900DD750C /* platform-recorder.cpp */; };
297297
4D79B89D1A36058300DD750C /* image_rep_densitymapped.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B89C1A36057400DD750C /* image_rep_densitymapped.cpp */; };
298+
4D79B8AD1A37118900DD750C /* widget.mlc in Sources */ = {isa = PBXBuildFile; fileRef = 4D79B8AA1A37104800DD750C /* widget.mlc */; };
298299
4D7FA7BF1594E10500EEF440 /* libfoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D7FA7BB1594E0FA00EEF440 /* libfoundation.a */; };
299300
4D7FA7C71594E17500EEF440 /* exec-datetime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D7FA7C61594E17500EEF440 /* exec-datetime.cpp */; };
300301
4D81A4C411171F6B008AE3F1 /* objectprops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D81A4C111171F6A008AE3F1 /* objectprops.cpp */; };
@@ -1915,6 +1916,7 @@
19151916
4D79B8981A3604F200DD750C /* sysunxthreads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sysunxthreads.cpp; path = src/sysunxthreads.cpp; sourceTree = "<group>"; };
19161917
4D79B89A1A36054900DD750C /* platform-recorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "platform-recorder.cpp"; path = "src/platform-recorder.cpp"; sourceTree = "<group>"; };
19171918
4D79B89C1A36057400DD750C /* image_rep_densitymapped.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = image_rep_densitymapped.cpp; path = src/image_rep_densitymapped.cpp; sourceTree = "<group>"; };
1919+
4D79B8AA1A37104800DD750C /* widget.mlc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = widget.mlc; path = src/widget.mlc; sourceTree = "<group>"; };
19181920
4D7FA7B61594E0FA00EEF440 /* libfoundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libfoundation.xcodeproj; path = ../libfoundation/libfoundation.xcodeproj; sourceTree = SOURCE_ROOT; };
19191921
4D7FA7C61594E17500EEF440 /* exec-datetime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "exec-datetime.cpp"; path = "src/exec-datetime.cpp"; sourceTree = "<group>"; };
19201922
4D81A4C111171F6A008AE3F1 /* objectprops.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = objectprops.cpp; path = src/objectprops.cpp; sourceTree = "<group>"; };
@@ -3110,6 +3112,7 @@
31103112
4D79B7291A275A7C00DD750C /* Modules */ = {
31113113
isa = PBXGroup;
31123114
children = (
3115+
4D79B8AA1A37104800DD750C /* widget.mlc */,
31133116
4D79B7301A275ADE00DD750C /* canvas.mlc */,
31143117
4D79B72E1A275AA500DD750C /* module-canvas.cpp */,
31153118
E8A1AD001A27799B0078F401 /* module-canvas.h */,
@@ -5109,6 +5112,7 @@
51095112
isa = PBXSourcesBuildPhase;
51105113
buildActionMask = 2147483647;
51115114
files = (
5115+
4D79B8AD1A37118900DD750C /* widget.mlc in Sources */,
51125116
4D79B89D1A36058300DD750C /* image_rep_densitymapped.cpp in Sources */,
51135117
4D79B89B1A36055B00DD750C /* platform-recorder.cpp in Sources */,
51145118
4D79B8991A36050800DD750C /* sysunxthreads.cpp in Sources */,

engine/library_test.livecode

-45 Bytes
Binary file not shown.

engine/src/canvas.mlc

Lines changed: 120 additions & 110 deletions
Large diffs are not rendered by default.

engine/src/exec-engine.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2165,7 +2165,8 @@ void MCEngineExecUnloadExtension(MCExecContext& ctxt, MCStringRef p_filename)
21652165
for(MCLoadedExtension *t_previous = nil, *t_ext = MCextensions; t_ext != nil; t_previous = t_ext, t_ext = t_ext -> next)
21662166
if (MCStringIsEqualTo(t_ext -> filename, *t_resolved_filename, kMCStringOptionCompareCaseless))
21672167
{
2168-
MCScriptReleaseInstance(t_ext -> instance);
2168+
if (t_ext -> instance != nil)
2169+
MCScriptReleaseInstance(t_ext -> instance);
21692170
MCScriptReleaseModule(t_ext -> module);
21702171
MCValueRelease(t_ext -> filename);
21712172
if (t_previous != nil)

engine/src/module-canvas-internal.h

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ struct __MCCanvasColorImpl
3434
MCCanvasFloat red, green, blue, alpha;
3535
};
3636

37-
bool MCCanvasColorCreate(const __MCCanvasColorImpl &p_color, MCCanvasColorRef &r_color);
3837
__MCCanvasColorImpl *MCCanvasColorGet(MCCanvasColorRef p_color);
3938

4039
// Transform type
@@ -194,4 +193,71 @@ struct __MCCanvasImpl
194193

195194
__MCCanvasImpl *MCCanvasGet(MCCanvasRef p_canvas);
196195

196+
//////////
197+
198+
bool MCCanvasThrowError(MCTypeInfoRef p_error_type);
199+
200+
//////////
201+
202+
#define CANVAS_ANGLE_RADIANS 0
203+
#define CANVAS_ANGLE_DEGREES 1
204+
205+
#define CANVAS_ANGLE_TYPE CANVAS_ANGLE_DEGREES
206+
207+
inline MCCanvasFloat MCCanvasDegreesToRadians(MCCanvasFloat p_degrees)
208+
{
209+
return p_degrees * M_PI / 180;
210+
}
211+
212+
inline MCCanvasFloat MCCanvasRadiansToDegrees(MCCanvasFloat p_radians)
213+
{
214+
return p_radians * 180 / M_PI;
215+
}
216+
217+
#if CANVAS_ANGLE_TYPE == CANVAS_ANGLE_DEGREES
218+
219+
inline MCCanvasFloat MCCanvasAngleToDegrees(MCCanvasFloat p_angle)
220+
{
221+
return p_angle;
222+
}
223+
224+
inline MCCanvasFloat MCCanvasAngleToRadians(MCCanvasFloat p_angle)
225+
{
226+
return MCCanvasDegreesToRadians(p_angle);
227+
}
228+
229+
inline MCCanvasFloat MCCanvasAngleFromDegrees(MCCanvasFloat p_degrees)
230+
{
231+
return p_degrees;
232+
}
233+
234+
inline MCCanvasFloat MCCanvasAngleFromRadians(MCCanvasFloat p_radians)
235+
{
236+
return MCCanvasRadiansToDegrees(p_radians);
237+
}
238+
239+
#else
240+
241+
inline MCCanvasFloat MCCanvasAngleToDegrees(MCCanvasFloat p_angle)
242+
{
243+
return MCCanvasRadiansToDegrees(p_angle);
244+
}
245+
246+
inline MCCanvasFloat MCCanvasAngleToRadians(MCCanvasFloat p_angle)
247+
{
248+
return p_angle;
249+
}
250+
251+
inline MCCanvasFloat MCCanvasAngleFromDegrees(MCCanvasFloat p_degrees)
252+
{
253+
return MCCanvasDegreesToRadians(p_degrees);
254+
}
255+
256+
inline MCCanvasFloat MCCanvasAngleFromRadians(MCCanvasFloat p_radians)
257+
{
258+
return p_radians;
259+
}
260+
261+
#endif
262+
197263
#endif//_MODULE_CANVAS_INTERNAL_H_

0 commit comments

Comments
 (0)