예제 #1
0
        public static GammaRamp GetGammaRamp(MonitorPtr monitor)
        {
            GammaRampInternal rampI;

            glfwGetGammaRamp(monitor, out rampI);
            uint      length = rampI.Length;
            GammaRamp ramp   = new GammaRamp(length);

            for (int i = 0; i < ramp.Red.Length; ++i)
            {
                int offset = i * sizeof(ushort);
                ramp.Red[i]   = Marshal.PtrToStructure <short>(rampI.Red + offset);
                ramp.Green[i] = Marshal.PtrToStructure <short>(rampI.Green + offset);
                ramp.Blue[i]  = Marshal.PtrToStructure <short>(rampI.Blue + offset);
            }
            return(ramp);
        }
예제 #2
0
		internal static extern void glfwSetGammaRamp(MonitorPtr monitor, ref GammaRamp ramp);
예제 #3
0
		public static GammaRamp GetGammaRamp(MonitorPtr monitor) {
			GammaRampInternal rampI;
			glfwGetGammaRamp(monitor, out rampI);
			uint length = rampI.Length;
			GammaRamp ramp = new GammaRamp(length);
			for (int i = 0; i < ramp.Red.Length; ++i) {
                int offset = i * sizeof(ushort);
                ramp.Red[i] = Marshal.PtrToStructure<short>(rampI.Red + offset);
				ramp.Green[i] = Marshal.PtrToStructure<short>(rampI.Green + offset);
                ramp.Blue[i] = Marshal.PtrToStructure<short>(rampI.Blue + offset);
            }
            return ramp;
		}
예제 #4
0
		public static void SetGammaRamp(MonitorPtr monitor, ref GammaRamp ramp) {
			ramp.Length = (uint)ramp.Red.Length;
			glfwSetGammaRamp(monitor, ref ramp);
		}
예제 #5
0
 internal static extern void glfwSetGammaRamp(MonitorPtr monitor, ref GammaRamp ramp);
예제 #6
0
 public static void SetGammaRamp(MonitorPtr monitor, ref GammaRamp ramp)
 {
     ramp.Length = (uint)ramp.Red.Length;
     glfwSetGammaRamp(monitor, ref ramp);
 }