aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/c_src/wxe_callback_impl.h
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2014-01-27 14:23:15 +0100
committerDan Gudmundsson <[email protected]>2014-01-27 14:23:15 +0100
commit75bfbe5a61fa1a1dd204fdb21dc4bf7df8e8003d (patch)
treecedea2151cdc673bddfe541cf4956c5fd6b431ab /lib/wx/c_src/wxe_callback_impl.h
parentc922ea6f82bb3d95d05d1f212b91e13f97e972b8 (diff)
parentfd055cf43486358a413a1fa22f30f0aa711d25e1 (diff)
downloadotp-75bfbe5a61fa1a1dd204fdb21dc4bf7df8e8003d.tar.gz
otp-75bfbe5a61fa1a1dd204fdb21dc4bf7df8e8003d.tar.bz2
otp-75bfbe5a61fa1a1dd204fdb21dc4bf7df8e8003d.zip
Merge branch 'dgud/wx/refactor-and-bugfixes/OTP-11586'
* dgud/wx/refactor-and-bugfixes/OTP-11586: wx: Delay all deletes if recursed in event loop wx: wx could hang if wxe_server died (or had died) when inside a callback wx: Delay memory cleanup until safe wx: Refactor C++ code wx: Add init_dialog event Update icons wx: Update icons to plain old white ones
Diffstat (limited to 'lib/wx/c_src/wxe_callback_impl.h')
-rw-r--r--lib/wx/c_src/wxe_callback_impl.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/lib/wx/c_src/wxe_callback_impl.h b/lib/wx/c_src/wxe_callback_impl.h
new file mode 100644
index 0000000000..c7243e23a4
--- /dev/null
+++ b/lib/wx/c_src/wxe_callback_impl.h
@@ -0,0 +1,75 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#ifndef _WXE_CALLBACK_IMPL_H
+#define _WXE_CALLBACK_IMPL_H
+
+void pre_callback();
+void handle_event_callback(ErlDrvPort port, ErlDrvTermData process);
+
+class wxEPrintout : public wxPrintout
+{
+ public:
+ wxEPrintout(wxString Title, int onPrintP, int onPrepareP,
+ int onBeginP, int onEndP,
+ int onBeginD, int onEndD,
+ int hasP, int getPageI, ErlDrvTermData Port) :
+ wxPrintout(Title),
+ onPrintPage(onPrintP), onPreparePrinting(onPrepareP),
+ onBeginPrinting(onBeginP), onEndPrinting(onEndP),
+ onBeginDocument(onBeginD), onEndDocument(onEndD), hasPage(hasP), getPageInfo(getPageI),
+ port(Port)
+ { } ;
+
+ ~wxEPrintout();
+
+ bool OnBeginDocument(int startPage, int endPage);
+ void OnEndDocument();
+ void OnBeginPrinting();
+ void OnEndPrinting();
+
+ void OnPreparePrinting();
+
+ bool HasPage(int page);
+ bool OnPrintPage(int page);
+ void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
+
+ int onPrintPage;
+ int onPreparePrinting;
+ int onBeginPrinting;
+ int onEndPrinting;
+ int onBeginDocument;
+ int onEndDocument;
+ int hasPage;
+ int getPageInfo;
+
+ ErlDrvTermData port;
+};
+
+void clear_cb(ErlDrvTermData port, int callback);
+
+// Implementation of wxListCtrlCompare
+struct callbackInfo {
+ ErlDrvTermData port;
+ int callbackID;
+};
+
+int wxCALLBACK wxEListCtrlCompare(long item1, long item2, long callbackInfoPtr);
+
+#endif