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>