Mercurial > dwindows
comparison dw.h @ 2473:aa420e366b2b
Android: Initial skeletal commit for Android support, almost nothing implemented...
but this should be a framework for adding Android support via JNI/NDK.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 18 Apr 2021 01:28:55 +0000 |
parents | 44b77654c406 |
children | a13e6db064f4 |
comparison
equal
deleted
inserted
replaced
2472:206a0643add6 | 2473:aa420e366b2b |
---|---|
121 # ifndef GDK_WINDOWING_WIN32 | 121 # ifndef GDK_WINDOWING_WIN32 |
122 # define GDK_WINDOWING_WIN32 | 122 # define GDK_WINDOWING_WIN32 |
123 # endif | 123 # endif |
124 #endif | 124 #endif |
125 | 125 |
126 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || defined(__MAC__) || defined(__IOS__) || defined(__EMX__) || defined(__TEMPLATE__) | 126 #if defined(__OS2__) || (defined(__WIN32__) && !defined(GDK_WINDOWING_WIN32)) || defined(__MAC__) || defined(__IOS__) || defined(__EMX__) || defined(__ANDROID__) || defined(__TEMPLATE__) |
127 /* OS/2, Windows or MacOS */ | 127 /* OS/2, Windows or MacOS */ |
128 | 128 |
129 #ifdef __OS2__ | 129 #ifdef __OS2__ |
130 # if (defined(__IBMC__) || defined(__WATCOMC__) || defined(_System)) && !defined(API) | 130 # if (defined(__IBMC__) || defined(__WATCOMC__) || defined(_System)) && !defined(API) |
131 # define API _System | 131 # define API _System |
719 unsigned long depth; | 719 unsigned long depth; |
720 HFONT font; | 720 HFONT font; |
721 } *HPIXMAP; | 721 } *HPIXMAP; |
722 | 722 |
723 typedef HWND HMENUI; | 723 typedef HWND HMENUI; |
724 #endif | |
725 | |
726 /* Android section */ | |
727 #if defined(__ANDROID__) | |
728 #include <stdio.h> | |
729 #include <stdlib.h> | |
730 #include <stdarg.h> | |
731 #include <limits.h> | |
732 | |
733 /* Can remove this for your port when you know where MAX_PATH is */ | |
734 #ifndef MAX_PATH | |
735 #define MAX_PATH 260 | |
736 #endif | |
737 | |
738 #define TRUE 1 | |
739 #define FALSE 0 | |
740 | |
741 typedef void *HWND; | |
742 | |
743 typedef unsigned long ULONG; | |
744 typedef long LONG; | |
745 typedef unsigned short USHORT; | |
746 typedef short SHORT; | |
747 typedef unsigned short UWORD; | |
748 typedef short WORD ; | |
749 typedef unsigned char UCHAR; | |
750 typedef char CHAR; | |
751 typedef unsigned UINT; | |
752 typedef int INT; | |
753 typedef void *HMTX; | |
754 typedef void *HEV; | |
755 typedef void *HSHM; | |
756 typedef void *HMOD; | |
757 typedef void *HTREEITEM; | |
758 typedef HWND HMENUI; | |
759 typedef int DWTID; | |
760 typedef unsigned long HICN; | |
761 | |
762 typedef struct _window_data { | |
763 UserData *root; | |
764 HWND clickdefault; | |
765 ULONG flags; | |
766 void *data; | |
767 } WindowData; | |
768 | |
769 typedef struct _hpixmap { | |
770 unsigned long width, height; | |
771 /* ?? *pixmap; */ | |
772 HWND handle; | |
773 } *HPIXMAP; | |
774 | |
775 #define DW_DT_LEFT 0 | |
776 #define DW_DT_QUERYEXTENT 0 | |
777 #define DW_DT_UNDERSCORE 0 | |
778 #define DW_DT_STRIKEOUT 0 | |
779 #define DW_DT_TEXTATTRS 0 | |
780 #define DW_DT_EXTERNALLEADING 0 | |
781 #define DW_DT_CENTER 0 | |
782 #define DW_DT_RIGHT 0 | |
783 #define DW_DT_TOP 0 | |
784 #define DW_DT_VCENTER 0 | |
785 #define DW_DT_BOTTOM 0 | |
786 #define DW_DT_HALFTONE 0 | |
787 #define DW_DT_MNEMONIC 0 | |
788 #define DW_DT_WORDBREAK 0 | |
789 #define DW_DT_ERASERECT 0 | |
790 | |
791 #define DW_FCF_CLOSEBUTTON 0 | |
792 #define DW_FCF_TITLEBAR 0 | |
793 #define DW_FCF_SYSMENU 0 | |
794 #define DW_FCF_MENU 0 | |
795 #define DW_FCF_SIZEBORDER 0 | |
796 #define DW_FCF_MINBUTTON 0 | |
797 #define DW_FCF_MAXBUTTON 0 | |
798 #define DW_FCF_MINMAX (DW_FCF_MINBUTTON|DW_FCF_MAXBUTTON) | |
799 #define DW_FCF_DLGBORDER 0 | |
800 #define DW_FCF_BORDER 0 | |
801 #define DW_FCF_TASKLIST 0 | |
802 #define DW_FCF_NOMOVEWITHOWNER 0 | |
803 #define DW_FCF_SYSMODAL 0 | |
804 #define DW_FCF_HIDEBUTTON 0 | |
805 #define DW_FCF_HIDEMAX 0 | |
806 #define DW_FCF_AUTOICON 0 | |
807 #define DW_FCF_MAXIMIZE 0 | |
808 #define DW_FCF_MINIMIZE 0 | |
809 #define DW_FCF_TEXTURED 0 | |
810 #define DW_FCF_FULLSCREEN 0 | |
811 | |
812 #define DW_CFA_BITMAPORICON 1 | |
813 #define DW_CFA_STRING (1 << 1) | |
814 #define DW_CFA_ULONG (1 << 2) | |
815 #define DW_CFA_TIME (1 << 3) | |
816 #define DW_CFA_DATE (1 << 4) | |
817 #define DW_CFA_CENTER (1 << 5) | |
818 #define DW_CFA_LEFT (1 << 6) | |
819 #define DW_CFA_RIGHT (1 << 7) | |
820 #define DW_CFA_STRINGANDICON (1 << 8) | |
821 #define DW_CFA_HORZSEPARATOR 0 | |
822 #define DW_CFA_SEPARATOR 0 | |
823 | |
824 #define DW_CRA_SELECTED 1 | |
825 #define DW_CRA_CURSORED (1 << 1) | |
826 | |
827 #define DW_CR_RETDATA (1 << 10) | |
828 | |
829 #define DW_LS_MULTIPLESEL 1 | |
830 | |
831 #define DW_LIT_NONE -1 | |
832 | |
833 #define DW_MLE_CASESENSITIVE 0 | |
834 | |
835 #define DW_BS_NOBORDER 0 | |
836 | |
837 #define DW_POINTER_DEFAULT 0 | |
838 #define DW_POINTER_ARROW 0 | |
839 #define DW_POINTER_CLOCK 0 | |
840 #define DW_POINTER_QUESTION 0 | |
841 | |
842 #define HWND_DESKTOP ((HWND)0) | |
843 | |
844 /* flag values for dw_messagebox() */ | |
845 #define DW_MB_OK (1 << 1) | |
846 #define DW_MB_OKCANCEL (1 << 2) | |
847 #define DW_MB_YESNO (1 << 3) | |
848 #define DW_MB_YESNOCANCEL (1 << 4) | |
849 | |
850 #define DW_MB_WARNING (1 << 10) | |
851 #define DW_MB_ERROR (1 << 11) | |
852 #define DW_MB_INFORMATION (1 << 12) | |
853 #define DW_MB_QUESTION (1 << 13) | |
854 | |
855 /* Virtual Key Codes */ | |
856 #define VK_LBUTTON 0 | |
857 #define VK_RBUTTON 1 | |
858 #define VK_CANCEL 2 | |
859 #define VK_MBUTTON 3 | |
860 #define VK_BACK 4 | |
861 #define VK_TAB 5 | |
862 #define VK_CLEAR 6 | |
863 #define VK_RETURN 7 | |
864 #define VK_MENU 8 | |
865 #define VK_PAUSE 9 | |
866 #define VK_CAPITAL 10 | |
867 #define VK_ESCAPE 11 | |
868 #define VK_SPACE 12 | |
869 #define VK_PRIOR 13 | |
870 #define VK_NEXT 14 | |
871 #define VK_END 15 | |
872 #define VK_HOME 16 | |
873 #define VK_LEFT 17 | |
874 #define VK_UP 18 | |
875 #define VK_RIGHT 19 | |
876 #define VK_DOWN 20 | |
877 #define VK_SELECT 21 | |
878 #define VK_PRINT 22 | |
879 #define VK_EXECUTE 23 | |
880 #define VK_SNAPSHOT 24 | |
881 #define VK_INSERT 25 | |
882 #define VK_DELETE 26 | |
883 #define VK_HELP 27 | |
884 #define VK_LWIN 28 | |
885 #define VK_RWIN 29 | |
886 #define VK_NUMPAD0 30 | |
887 #define VK_NUMPAD1 31 | |
888 #define VK_NUMPAD2 32 | |
889 #define VK_NUMPAD3 33 | |
890 #define VK_NUMPAD4 34 | |
891 #define VK_NUMPAD5 35 | |
892 #define VK_NUMPAD6 36 | |
893 #define VK_NUMPAD7 37 | |
894 #define VK_NUMPAD8 38 | |
895 #define VK_NUMPAD9 39 | |
896 #define VK_MULTIPLY 40 | |
897 #define VK_ADD 41 | |
898 #define VK_SEPARATOR 42 | |
899 #define VK_SUBTRACT 43 | |
900 #define VK_DECIMAL 44 | |
901 #define VK_DIVIDE 45 | |
902 #define VK_F1 46 | |
903 #define VK_F2 47 | |
904 #define VK_F3 48 | |
905 #define VK_F4 49 | |
906 #define VK_F5 50 | |
907 #define VK_F6 51 | |
908 #define VK_F7 52 | |
909 #define VK_F8 53 | |
910 #define VK_F9 54 | |
911 #define VK_F10 55 | |
912 #define VK_F11 56 | |
913 #define VK_F12 57 | |
914 #define VK_F13 58 | |
915 #define VK_F14 59 | |
916 #define VK_F15 60 | |
917 #define VK_F16 61 | |
918 #define VK_F17 62 | |
919 #define VK_F18 63 | |
920 #define VK_F19 64 | |
921 #define VK_F20 65 | |
922 #define VK_F21 66 | |
923 #define VK_F22 67 | |
924 #define VK_F23 68 | |
925 #define VK_F24 69 | |
926 #define VK_NUMLOCK 70 | |
927 #define VK_SCROLL 71 | |
928 #define VK_LSHIFT 72 | |
929 #define VK_RSHIFT 73 | |
930 #define VK_LCONTROL 74 | |
931 #define VK_RCONTROL 75 | |
932 #define VK_LMENU 76 | |
933 #define VK_RMENU 77 | |
934 | |
935 /* Key Modifiers */ | |
936 #define KC_CTRL (1) | |
937 #define KC_SHIFT (1 << 1) | |
938 #define KC_ALT (1 << 2) | |
724 #endif | 939 #endif |
725 | 940 |
726 /* Template section, framework for new platform ports */ | 941 /* Template section, framework for new platform ports */ |
727 #if defined(__TEMPLATE__) | 942 #if defined(__TEMPLATE__) |
728 #include <stdio.h> | 943 #include <stdio.h> |