Added missing fields
Added Uri-related enums Added Microphone class and related enum Updated whitespace
This commit is contained in:
parent
9335b2e748
commit
9cfedf1e78
@ -12,9 +12,9 @@ import Microsoft.Xna.Framework.Net.*;
|
|||||||
*/
|
*/
|
||||||
public class Game1 extends Game
|
public class Game1 extends Game
|
||||||
{
|
{
|
||||||
GraphicsDeviceManager graphics;
|
private GraphicsDeviceManager graphics;
|
||||||
SpriteBatch spriteBatch;
|
private SpriteBatch spriteBatch;
|
||||||
Texture2D background;
|
private Texture2D background;
|
||||||
|
|
||||||
public Game1()
|
public Game1()
|
||||||
{
|
{
|
||||||
@ -24,9 +24,9 @@ public class Game1 extends Game
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows the game to perform any initialization it needs to before starting to run.
|
* Allows the game to perform any initialization it needs to before starting to run.
|
||||||
* This is where it can query for any required services and load any non-graphic
|
* This is where it can query for any required services and load any non-graphic
|
||||||
* related content. Calling base.Initialize will enumerate through any components
|
* related content. Calling base.Initialize will enumerate through any components
|
||||||
* and initialize them as well.
|
* and initialize them as well.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
@ -38,7 +38,7 @@ public class Game1 extends Game
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* LoadContent will be called once per game and is the place to load
|
* LoadContent will be called once per game and is the place to load
|
||||||
* all of your content.
|
* all of your content.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void LoadContent()
|
public void LoadContent()
|
||||||
@ -54,7 +54,7 @@ public class Game1 extends Game
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* UnloadContent will be called once per game and is the place to unload
|
* UnloadContent will be called once per game and is the place to unload
|
||||||
* all content.
|
* all content.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void UnloadContent()
|
protected void UnloadContent()
|
||||||
|
@ -10,12 +10,12 @@ import System.*;
|
|||||||
public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
||||||
{
|
{
|
||||||
private AudioFormat format;
|
private AudioFormat format;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event that occurs when the number of audio capture buffers awaiting playback is less than or equal to two.
|
* Event that occurs when the number of audio capture buffers awaiting playback is less than or equal to two.
|
||||||
*/
|
*/
|
||||||
public final Event<EventArgs> BufferNeeded = new Event<EventArgs>();
|
public final Event<EventArgs> BufferNeeded = new Event<EventArgs>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new instance of this class, which creates a dynamic sound effect based on the specified sample rate and audio channel.
|
* Initializes a new instance of this class, which creates a dynamic sound effect based on the specified sample rate and audio channel.
|
||||||
*
|
*
|
||||||
@ -38,10 +38,10 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
{
|
{
|
||||||
throw new ArgumentOutOfRangeException("channels");
|
throw new ArgumentOutOfRangeException("channels");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -57,7 +57,7 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
super.Dispose(disposing);
|
super.Dispose(disposing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sample duration based on the specified size of the audio buffer.
|
* Returns the sample duration based on the specified size of the audio buffer.
|
||||||
*
|
*
|
||||||
@ -74,19 +74,25 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
synchronized (super.VoiceHandleLock)
|
synchronized (super.VoiceHandleLock)
|
||||||
{
|
{
|
||||||
if (super.IsDisposed())
|
if (super.IsDisposed())
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
||||||
|
}
|
||||||
|
|
||||||
if (sizeInBytes < 0)
|
if (sizeInBytes < 0)
|
||||||
|
{
|
||||||
throw new ArgumentException("Buffer size cannot be negative.");
|
throw new ArgumentException("Buffer size cannot be negative.");
|
||||||
|
}
|
||||||
|
|
||||||
if (sizeInBytes == 0)
|
if (sizeInBytes == 0)
|
||||||
|
{
|
||||||
return TimeSpan.Zero;
|
return TimeSpan.Zero;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: get this from AudioFormat
|
// TODO: get this from AudioFormat
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the size of the audio buffer required to contain audio samples based on the specified duration.
|
* Returns the size of the audio buffer required to contain audio samples based on the specified duration.
|
||||||
*
|
*
|
||||||
@ -107,26 +113,27 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
||||||
|
|
||||||
if ((duration.getTotalMilliseconds() < 0.0) || (duration.getTotalMilliseconds() > 2147483647.0))
|
if ((duration.getTotalMilliseconds() < 0.0) || (duration.getTotalMilliseconds() > 2147483647.0))
|
||||||
{
|
{
|
||||||
throw new ArgumentOutOfRangeException("duration");
|
throw new ArgumentOutOfRangeException("duration");
|
||||||
}
|
}
|
||||||
if (duration == TimeSpan.Zero)
|
if (duration == TimeSpan.Zero)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
}
|
}
|
||||||
catch(OverflowException ex)
|
catch(OverflowException ex)
|
||||||
{
|
{
|
||||||
throw new ArgumentOutOfRangeException("duration");
|
throw new ArgumentOutOfRangeException("duration", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Begins or resumes audio playback.
|
* Begins or resumes audio playback.
|
||||||
*
|
*
|
||||||
@ -138,13 +145,15 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
synchronized(super.VoiceHandleLock)
|
synchronized(super.VoiceHandleLock)
|
||||||
{
|
{
|
||||||
if (super.IsDisposed())
|
if (super.IsDisposed())
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submits an audio buffer for playback. Playback starts at the beginning, and the buffer is played in its entirety.
|
* Submits an audio buffer for playback. Playback starts at the beginning, and the buffer is played in its entirety.
|
||||||
*
|
*
|
||||||
@ -153,9 +162,9 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
*/
|
*/
|
||||||
public void SubmitBuffer(byte[] buffer)
|
public void SubmitBuffer(byte[] buffer)
|
||||||
{
|
{
|
||||||
this.SubmitBuffer(buffer, 0, buffer.length);
|
this.SubmitBuffer(buffer, 0, buffer.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submits an audio buffer for playback. Playback begins at the specified offset, and the byte count determines the size of the sample played.
|
* Submits an audio buffer for playback. Playback begins at the specified offset, and the byte count determines the size of the sample played.
|
||||||
*
|
*
|
||||||
@ -178,9 +187,12 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
synchronized(super.VoiceHandleLock)
|
synchronized(super.VoiceHandleLock)
|
||||||
{
|
{
|
||||||
int num = 0;
|
int num = 0;
|
||||||
|
|
||||||
if (super.IsDisposed())
|
if (super.IsDisposed())
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
throw new ObjectDisposedException(super.getClass().getName(), "This object has already been disposed.");
|
||||||
|
}
|
||||||
|
|
||||||
if (((buffer == null) || (buffer.length == 0)) || !this.format.IsAligned(buffer.length))
|
if (((buffer == null) || (buffer.length == 0)) || !this.format.IsAligned(buffer.length))
|
||||||
{
|
{
|
||||||
throw new ArgumentException("Ensure that the buffer length is non-zero and meets the block alignment requirements for the audio format.");
|
throw new ArgumentException("Ensure that the buffer length is non-zero and meets the block alignment requirements for the audio format.");
|
||||||
@ -195,13 +207,13 @@ public final class DynamicSoundEffectInstance extends SoundEffectInstance
|
|||||||
}
|
}
|
||||||
catch(OverflowException ex)
|
catch(OverflowException ex)
|
||||||
{
|
{
|
||||||
throw new ArgumentException("Ensure that count is valid and meets the block alignment requirements for the audio format. Offset and count must define a valid region within the buffer boundaries.");
|
throw new ArgumentException("Ensure that count is valid and meets the block alignment requirements for the audio format. Offset and count must define a valid region within the buffer boundaries.", ex);
|
||||||
}
|
}
|
||||||
if (((count <= 0) || (num > buffer.length)) |!this.format.IsAligned(count))
|
if (((count <= 0) || (num > buffer.length)) |!this.format.IsAligned(count))
|
||||||
{
|
{
|
||||||
throw new ArgumentException("Ensure that count is valid and meets the block alignment requirements for the audio format. Offset and count must define a valid region within the buffer boundaries.");
|
throw new ArgumentException("Ensure that count is valid and meets the block alignment requirements for the audio format. Offset and count must define a valid region within the buffer boundaries.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,150 @@
|
|||||||
|
package Microsoft.Xna.Framework.Audio;
|
||||||
|
|
||||||
|
import System.*;
|
||||||
|
import System.Collections.ObjectModel.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides properties, methods, and fields and events for capturing audio data with microphones.
|
||||||
|
*
|
||||||
|
* @author Halofreak1990
|
||||||
|
*/
|
||||||
|
public final class Microphone
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns the collection of all currently-available microphones.
|
||||||
|
*/
|
||||||
|
public static ReadOnlyCollection<Microphone> getAll()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets audio capture buffer duration of the microphone.
|
||||||
|
*/
|
||||||
|
public TimeSpan getBufferDuration()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets audio capture buffer duration of the microphone.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
|
public void setBufferDuration(TimeSpan value)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the default attached microphone.
|
||||||
|
*/
|
||||||
|
public static Microphone getDefault()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines if the microphone is a wired headset or a Bluetooth device.
|
||||||
|
*/
|
||||||
|
public boolean IsHeadset()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the friendly name of the microphone.
|
||||||
|
*/
|
||||||
|
public final String Name = ""; // TODO: use constructor to get this at run-time.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sample rate at which the microphone is capturing audio data.
|
||||||
|
*/
|
||||||
|
public int getSampleRate()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the recording state of the Microphone object.
|
||||||
|
*/
|
||||||
|
public MicrophoneState getState()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The event that occurs when the audio capture buffer is ready to processed.
|
||||||
|
*/
|
||||||
|
public final Event<EventArgs> BufferReady = new Event<EventArgs>();
|
||||||
|
|
||||||
|
protected void finalize()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the latest recorded data from the microphone based on the audio capture buffer.
|
||||||
|
*
|
||||||
|
* @param buffer
|
||||||
|
* Buffer, in bytes, containing the captured audio data. The audio format must be PCM wave data.
|
||||||
|
*/
|
||||||
|
public int GetData(byte[] buffer)
|
||||||
|
{
|
||||||
|
return this.GetData(buffer, 0, buffer.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the latest captured audio data from the microphone based on the specified offset and byte count.
|
||||||
|
*
|
||||||
|
* @param buffer
|
||||||
|
* Buffer, in bytes, containing the captured audio data. The audio format must be PCM wave data.
|
||||||
|
*
|
||||||
|
* @param offset
|
||||||
|
* Offset, in bytes, to the starting position of the data.
|
||||||
|
*
|
||||||
|
* @param count
|
||||||
|
* Amount, in bytes, of desired audio data.
|
||||||
|
*/
|
||||||
|
public int GetData(byte[ ] buffer, int offset, int count)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the duration of audio playback based on the size of the buffer.
|
||||||
|
*
|
||||||
|
* @param sizeInBytes
|
||||||
|
* Size, in bytes, of the audio data.
|
||||||
|
*/
|
||||||
|
public TimeSpan GetSampleDuration(int sizeInBytes)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the size of the byte array required to hold the specified duration of audio for this microphone object.
|
||||||
|
*
|
||||||
|
* @param duration
|
||||||
|
* TimeSpan object that contains the duration of the audio sample.
|
||||||
|
*/
|
||||||
|
public int GetSampleSizeInBytes(TimeSpan duration)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Starts microphone audio capture.
|
||||||
|
*/
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stops microphone audio capture.
|
||||||
|
*/
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package Microsoft.Xna.Framework.Audio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Current state of the Microphone audio capture (started or stopped).
|
||||||
|
*
|
||||||
|
* @author Halofreak1990
|
||||||
|
*/
|
||||||
|
public enum MicrophoneState
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The Microphone audio capture has started.
|
||||||
|
*/
|
||||||
|
Started,
|
||||||
|
/**
|
||||||
|
* The Microphone audio capture has stopped.
|
||||||
|
*/
|
||||||
|
Stopped
|
||||||
|
}
|
@ -10,18 +10,18 @@ import System.*;
|
|||||||
public class SoundEffectInstance implements IDisposable
|
public class SoundEffectInstance implements IDisposable
|
||||||
{
|
{
|
||||||
private float currentPan;
|
private float currentPan;
|
||||||
private float currentPitch;
|
private float currentPitch;
|
||||||
private float currentVolume;
|
private float currentVolume;
|
||||||
private boolean isDisposed;
|
private boolean isDisposed;
|
||||||
private boolean isFireAndForget;
|
private boolean isFireAndForget;
|
||||||
private SoundEffect parent;
|
private SoundEffect parent;
|
||||||
Object VoiceHandleLock;
|
Object VoiceHandleLock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a value that indicates whether looping is enabled for the SoundEffectInstance. Reference page contains links to related code samples.
|
* Gets a value that indicates whether looping is enabled for the SoundEffectInstance. Reference page contains links to related code samples.
|
||||||
*/
|
*/
|
||||||
public boolean IsLooped;
|
public boolean IsLooped;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a value that indicates whether the object is disposed.
|
* Gets a value that indicates whether the object is disposed.
|
||||||
*/
|
*/
|
||||||
@ -29,12 +29,12 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
return isDisposed;
|
return isDisposed;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean IsFireAndForget()
|
boolean IsFireAndForget()
|
||||||
{
|
{
|
||||||
return this.isFireAndForget;
|
return this.isFireAndForget;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the panning for the SoundEffectInstance.
|
* Gets the panning for the SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -42,7 +42,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
return this.currentPan;
|
return this.currentPan;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the panning for the SoundEffectInstance.
|
* Sets the panning for the SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -51,16 +51,20 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
if (value < -1f || value > 1f)
|
if (value < -1f || value > 1f)
|
||||||
|
{
|
||||||
throw new ArgumentOutOfRangeException("value");
|
throw new ArgumentOutOfRangeException("value");
|
||||||
|
}
|
||||||
|
|
||||||
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetPan(this.voiceHandle, value));
|
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetPan(this.voiceHandle, value));
|
||||||
this.currentPan = value;
|
this.currentPan = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the pitch adjustment for the SoundEffectInstance. Reference page contains links to related code samples.
|
* Gets the pitch adjustment for the SoundEffectInstance. Reference page contains links to related code samples.
|
||||||
*/
|
*/
|
||||||
@ -68,7 +72,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
return this.currentPitch;
|
return this.currentPitch;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the pitch adjustment for the SoundEffectInstance. Reference page contains links to related code samples.
|
* Sets the pitch adjustment for the SoundEffectInstance. Reference page contains links to related code samples.
|
||||||
*/
|
*/
|
||||||
@ -77,21 +81,25 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
if (value < -1f || value > 1f)
|
if (value < -1f || value > 1f)
|
||||||
|
{
|
||||||
throw new ArgumentOutOfRangeException("value");
|
throw new ArgumentOutOfRangeException("value");
|
||||||
|
}
|
||||||
|
|
||||||
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetPitch(this.voiceHandle, value));
|
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetPitch(this.voiceHandle, value));
|
||||||
this.currentPitch = value;
|
this.currentPitch = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SoundEffect getSoundEffect()
|
SoundEffect getSoundEffect()
|
||||||
{
|
{
|
||||||
return this.parent;
|
return this.parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the current state (playing, paused, or stopped) of the SoundEffectInstance.
|
* Gets the current state (playing, paused, or stopped) of the SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -100,13 +108,15 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the volume of the SoundEffectInstance. Reference page contains links to related code samples.
|
* Gets the volume of the SoundEffectInstance. Reference page contains links to related code samples.
|
||||||
*/
|
*/
|
||||||
@ -114,7 +124,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
return this.currentVolume;
|
return this.currentVolume;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the volume of the SoundEffectInstance. Reference page contains links to related code samples.
|
* Sets the volume of the SoundEffectInstance. Reference page contains links to related code samples.
|
||||||
*/
|
*/
|
||||||
@ -123,30 +133,36 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
if (value < -1f || value > 1f)
|
if (value < -1f || value > 1f)
|
||||||
|
{
|
||||||
throw new ArgumentOutOfRangeException("value");
|
throw new ArgumentOutOfRangeException("value");
|
||||||
|
}
|
||||||
|
|
||||||
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetVolume(this.voiceHandle, value));
|
//Helpers.ThrowExceptionFromErrorCode(SoundEffectUnsafeNativeMethods.SetVolume(this.voiceHandle, value));
|
||||||
this.currentVolume = value;
|
this.currentVolume = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SoundEffectInstance()
|
SoundEffectInstance()
|
||||||
{
|
{
|
||||||
this.currentVolume = 1f;
|
this.currentVolume = 1f;
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
this.VoiceHandleLock = new Object();
|
this.VoiceHandleLock = new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
SoundEffectInstance(SoundEffect parentEffect, boolean fireAndForget)
|
SoundEffectInstance(SoundEffect parentEffect, boolean fireAndForget)
|
||||||
{
|
{
|
||||||
this.currentVolume = 1f;
|
this.currentVolume = 1f;
|
||||||
this.VoiceHandleLock = new Object();
|
this.VoiceHandleLock = new Object();
|
||||||
if (parentEffect.IsDisposed())
|
if (parentEffect.IsDisposed())
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(SoundEffect.class.getName(), "This object has already been disposed.");
|
throw new ObjectDisposedException(SoundEffect.class.getName(), "This object has already been disposed.");
|
||||||
|
}
|
||||||
|
|
||||||
this.parent = parentEffect;
|
this.parent = parentEffect;
|
||||||
this.setVolume(1f);
|
this.setVolume(1f);
|
||||||
this.setPitch(0f);
|
this.setPitch(0f);
|
||||||
@ -154,7 +170,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
this.IsLooped = false;
|
this.IsLooped = false;
|
||||||
this.isFireAndForget = fireAndForget;
|
this.isFireAndForget = fireAndForget;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies 3D positioning to the sound using a single listener. Reference page contains links to related code samples.
|
* Applies 3D positioning to the sound using a single listener. Reference page contains links to related code samples.
|
||||||
*
|
*
|
||||||
@ -168,7 +184,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
this.Apply3D(new AudioListener[] { listener }, emitter);
|
this.Apply3D(new AudioListener[] { listener }, emitter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies 3D position to the sound using multiple listeners. Reference page contains links to related code samples.
|
* Applies 3D position to the sound using multiple listeners. Reference page contains links to related code samples.
|
||||||
*
|
*
|
||||||
@ -183,13 +199,15 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases unmanaged resources held by this SoundEffectInstance.
|
* Releases unmanaged resources held by this SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -197,7 +215,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
this.Dispose(true);
|
this.Dispose(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases the unmanaged resources held by this SoundEffectInstance, and optionally releases the managed resources.
|
* Releases the unmanaged resources held by this SoundEffectInstance, and optionally releases the managed resources.
|
||||||
*
|
*
|
||||||
@ -218,7 +236,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases unmanaged resources and performs other cleanup operations before the SoundEffectInstance is reclaimed by garbage collection.
|
* Releases unmanaged resources and performs other cleanup operations before the SoundEffectInstance is reclaimed by garbage collection.
|
||||||
*/
|
*/
|
||||||
@ -226,7 +244,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
this.Dispose(false);
|
this.Dispose(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pauses a SoundEffectInstance.
|
* Pauses a SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -235,13 +253,15 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plays or resumes a SoundEffectInstance.
|
* Plays or resumes a SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -250,13 +270,15 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resumes playback for a SoundEffectInstance.
|
* Resumes playback for a SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -265,13 +287,15 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Immediately stops playing a SoundEffectInstance.
|
* Immediately stops playing a SoundEffectInstance.
|
||||||
*/
|
*/
|
||||||
@ -279,7 +303,7 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
{
|
{
|
||||||
this.Stop(true);
|
this.Stop(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stops playing a SoundEffectInstance, either immediately or as authored.
|
* Stops playing a SoundEffectInstance, either immediately or as authored.
|
||||||
*
|
*
|
||||||
@ -291,8 +315,10 @@ public class SoundEffectInstance implements IDisposable
|
|||||||
synchronized(this)
|
synchronized(this)
|
||||||
{
|
{
|
||||||
if (this.isDisposed)
|
if (this.isDisposed)
|
||||||
|
{
|
||||||
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
throw new ObjectDisposedException(super.getClass().toString(), "FrameworkResources.ObjectDisposedException");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package Microsoft.Xna.Framework.Content;
|
package Microsoft.Xna.Framework.Content;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.*;
|
import java.lang.reflect.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -20,19 +21,31 @@ public class ContentManager implements IDisposable
|
|||||||
private IServiceProvider serviceProvider;
|
private IServiceProvider serviceProvider;
|
||||||
private Action<IDisposable> recordDisposableObject;
|
private Action<IDisposable> recordDisposableObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the root directory associated with this ContentManager.
|
||||||
|
*/
|
||||||
public String getRootDirectory()
|
public String getRootDirectory()
|
||||||
{
|
{
|
||||||
return this.rootDirectory;
|
return this.rootDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the root directory associated with this ContentManager.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
public void setRootDirectory(String value)
|
public void setRootDirectory(String value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
|
{
|
||||||
throw new ArgumentNullException("value");
|
throw new ArgumentNullException("value");
|
||||||
|
}
|
||||||
|
|
||||||
if (this.assets.size() > 0)
|
if (this.assets.size() > 0)
|
||||||
|
{
|
||||||
throw new InvalidOperationException("");
|
throw new InvalidOperationException("");
|
||||||
|
}
|
||||||
|
|
||||||
this.rootDirectory = value;
|
this.rootDirectory = value;
|
||||||
/*this.fullRootDirectory = value;
|
/*this.fullRootDirectory = value;
|
||||||
this.isRootDirectoryAbsolute = TitleContainer.IsPathAbsolute(value);
|
this.isRootDirectoryAbsolute = TitleContainer.IsPathAbsolute(value);
|
||||||
@ -48,15 +61,22 @@ public class ContentManager implements IDisposable
|
|||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the service provider associated with the ContentManager.
|
||||||
|
*/
|
||||||
public IServiceProvider getServiceProvider()
|
public IServiceProvider getServiceProvider()
|
||||||
{
|
{
|
||||||
return this.serviceProvider;
|
return this.serviceProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Initializes a new instance of ContentManager.
|
||||||
*
|
*
|
||||||
* @param serviceProvider
|
* @param serviceProvider
|
||||||
|
* The service provider that the ContentManager should use to locate services.
|
||||||
|
*
|
||||||
* @throws ArgumentNullException
|
* @throws ArgumentNullException
|
||||||
|
* serviceProvider is null.
|
||||||
*/
|
*/
|
||||||
public ContentManager(IServiceProvider serviceProvider)
|
public ContentManager(IServiceProvider serviceProvider)
|
||||||
{
|
{
|
||||||
@ -64,10 +84,16 @@ public class ContentManager implements IDisposable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Initializes a new instance of ContentManager.
|
||||||
*
|
*
|
||||||
* @param serviceProvider
|
* @param serviceProvider
|
||||||
|
* The service provider the ContentManager should use to locate services.
|
||||||
|
*
|
||||||
* @param rootDirectory
|
* @param rootDirectory
|
||||||
|
* The root directory to search for content.
|
||||||
|
*
|
||||||
* @throws ArgumentNullException
|
* @throws ArgumentNullException
|
||||||
|
* serviceProvider or rootDirectory is null.
|
||||||
*/
|
*/
|
||||||
public ContentManager(IServiceProvider serviceProvider, String rootDirectory)
|
public ContentManager(IServiceProvider serviceProvider, String rootDirectory)
|
||||||
{
|
{
|
||||||
@ -87,7 +113,7 @@ public class ContentManager implements IDisposable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Releases all resources used by the ContentManager class.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
@ -95,6 +121,12 @@ public class ContentManager implements IDisposable
|
|||||||
Dispose(true);
|
Dispose(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Releases the unmanaged resources used by the ContentManager and optionally releases the managed resources.
|
||||||
|
*
|
||||||
|
* @param disposing
|
||||||
|
* true to release both managed and unmanaged resources; false to release only unmanaged resources.
|
||||||
|
*/
|
||||||
protected void Dispose(boolean disposing)
|
protected void Dispose(boolean disposing)
|
||||||
{
|
{
|
||||||
if (!this.disposed)
|
if (!this.disposed)
|
||||||
@ -153,11 +185,22 @@ public class ContentManager implements IDisposable
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
T asset = this.ReadAsset(assetName, null);
|
T asset = this.ReadAsset(assetName, null);
|
||||||
return asset;
|
return asset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opens a stream for reading the specified asset. Derived classes can replace this to implement pack files or asset compression.
|
||||||
|
*
|
||||||
|
* @param assetName
|
||||||
|
* The name of the asset being read.
|
||||||
|
*/
|
||||||
|
protected InputStream OpenStream(String assetName)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Low-level worker method that reads asset data.
|
* Low-level worker method that reads asset data.
|
||||||
*
|
*
|
||||||
|
@ -2,6 +2,8 @@ package Microsoft.Xna.Framework.GamerServices;
|
|||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import System.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides the presence information of a friend of the local gamer.
|
* Provides the presence information of a friend of the local gamer.
|
||||||
*
|
*
|
||||||
@ -12,9 +14,31 @@ public final class FriendGamer extends Gamer
|
|||||||
private EnumSet<FriendState> friendState;
|
private EnumSet<FriendState> friendState;
|
||||||
private FriendCollection parent;
|
private FriendCollection parent;
|
||||||
private String presence;
|
private String presence;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets whether the local gamer who requested the friends list has received a friend request from this gamer.
|
||||||
|
*/
|
||||||
|
public boolean FriendRequestReceivedFrom()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets whether the local gamer who requested the friends list has sent a friend request to this gamer.
|
||||||
|
*/
|
||||||
|
public boolean FriendRequestSentTo()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a title-defined presence string describing what this friend is currently doing.
|
||||||
|
*/
|
||||||
|
public String getPresence()
|
||||||
|
{
|
||||||
|
return presence;
|
||||||
|
}
|
||||||
|
|
||||||
FriendGamer(FriendCollection parent, String gamertag, String presence, EnumSet<FriendState> friendState)
|
FriendGamer(FriendCollection parent, String gamertag, String presence, EnumSet<FriendState> friendState)
|
||||||
{
|
{
|
||||||
this.friendState = friendState;
|
this.friendState = friendState;
|
||||||
|
@ -73,12 +73,8 @@ public final class Album implements IEquatable<Album>, IDisposable
|
|||||||
if (!isDisposed)
|
if (!isDisposed)
|
||||||
{
|
{
|
||||||
this.isDisposed = true;
|
this.isDisposed = true;
|
||||||
// TODO: implement
|
|
||||||
|
|
||||||
if (false)
|
// TODO: implement
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
songs = SongCollection.Empty;
|
songs = SongCollection.Empty;
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,8 @@ import System.*;
|
|||||||
*/
|
*/
|
||||||
public final class AlbumCollection implements Iterable<Album>
|
public final class AlbumCollection implements Iterable<Album>
|
||||||
{
|
{
|
||||||
|
static final AlbumCollection Empty = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an iterator that iterates through the AlbumCollection.
|
* Returns an iterator that iterates through the AlbumCollection.
|
||||||
*/
|
*/
|
||||||
|
@ -51,6 +51,7 @@ public final class Artist implements IEquatable<Artist>, IDisposable
|
|||||||
this.songs = SongCollection.Empty;
|
this.songs = SongCollection.Empty;
|
||||||
this.albums = AlbumCollection.Empty;
|
this.albums = AlbumCollection.Empty;
|
||||||
this.handle = handle;
|
this.handle = handle;
|
||||||
|
|
||||||
if (this.IsValidHandle)
|
if (this.IsValidHandle)
|
||||||
{
|
{
|
||||||
StringBuilder sbName = new StringBuilder(260);
|
StringBuilder sbName = new StringBuilder(260);
|
||||||
|
@ -9,6 +9,8 @@ import System.*;
|
|||||||
*/
|
*/
|
||||||
public final class Genre implements IEquatable<Genre>, IDisposable
|
public final class Genre implements IEquatable<Genre>, IDisposable
|
||||||
{
|
{
|
||||||
|
static final Genre Empty = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the AlbumCollection for the Genre.
|
* Gets the AlbumCollection for the Genre.
|
||||||
*/
|
*/
|
||||||
|
@ -12,6 +12,8 @@ import System.*;
|
|||||||
public final class SongCollection implements Iterable<Song>
|
public final class SongCollection implements Iterable<Song>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
static final SongCollection Empty = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -47,7 +47,7 @@ public final class Point extends ValueType implements IEquatable<Point>
|
|||||||
X = x;
|
X = x;
|
||||||
Y = y;
|
Y = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether the specified Object is equal to this instance.
|
* Determines whether the specified Object is equal to this instance.
|
||||||
*
|
*
|
||||||
@ -59,7 +59,7 @@ public final class Point extends ValueType implements IEquatable<Point>
|
|||||||
{
|
{
|
||||||
return (obj != null && obj instanceof Point) ? this.Equals((Point)obj) : false;
|
return (obj != null && obj instanceof Point) ? this.Equals((Point)obj) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether two Point instances are equal.
|
* Determines whether two Point instances are equal.
|
||||||
*
|
*
|
||||||
@ -68,24 +68,24 @@ public final class Point extends ValueType implements IEquatable<Point>
|
|||||||
*/
|
*/
|
||||||
public boolean Equals(Point other)
|
public boolean Equals(Point other)
|
||||||
{
|
{
|
||||||
return ((this.X == other.X) && (this.Y == other.Y));
|
return ((this.X == other.X) && (this.Y == other.Y));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the hash code for this object.
|
* Gets the hash code for this object.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
{
|
{
|
||||||
return (this.X ^ this.Y);
|
return (this.X ^ this.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a String that represents the current Point.
|
* Returns a String that represents the current Point.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return String.format(Locale.getDefault(), "{X:%i Y:%i}", this.X, this.Y);
|
return String.format(Locale.getDefault(), "{X:%i Y:%i}", this.X, this.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return (this.Y + this.Height);
|
return (this.Y + this.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the Point that specifies the center of the rectangle.
|
* Gets the Point that specifies the center of the rectangle.
|
||||||
*/
|
*/
|
||||||
@ -26,17 +26,17 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return new Point(this.X + (this.Width / 2), this.Y + (this.Height / 2));
|
return new Point(this.X + (this.Width / 2), this.Y + (this.Height / 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a Rectangle with all of its values set to zero.
|
* Returns a Rectangle with all of its values set to zero.
|
||||||
*/
|
*/
|
||||||
public static final Rectangle Empty = new Rectangle();
|
public static final Rectangle Empty = new Rectangle();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the height of the rectangle.
|
* Specifies the height of the rectangle.
|
||||||
*/
|
*/
|
||||||
public int Height;
|
public int Height;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a value that indicates whether the Rectangle is empty.
|
* Gets a value that indicates whether the Rectangle is empty.
|
||||||
*/
|
*/
|
||||||
@ -44,7 +44,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return ((((this.Width == 0) && (this.Height == 0)) && (this.X == 0)) && (this.Y == 0));
|
return ((((this.Width == 0) && (this.Height == 0)) && (this.X == 0)) && (this.Y == 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the x-coordinate of the left side of the rectangle.
|
* Returns the x-coordinate of the left side of the rectangle.
|
||||||
*/
|
*/
|
||||||
@ -52,7 +52,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return this.X;
|
return this.X;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the upper-left value of the Rectangle.
|
* Gets the upper-left value of the Rectangle.
|
||||||
*/
|
*/
|
||||||
@ -60,7 +60,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return new Point(this.X, this.Y);
|
return new Point(this.X, this.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the upper-left value of the Rectangle.
|
* Sets the upper-left value of the Rectangle.
|
||||||
*
|
*
|
||||||
@ -70,9 +70,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
public void setLocation(Point newLocation)
|
public void setLocation(Point newLocation)
|
||||||
{
|
{
|
||||||
this.X = newLocation.X;
|
this.X = newLocation.X;
|
||||||
this.Y = newLocation.Y;
|
this.Y = newLocation.Y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the x-coordinate of the right side of the rectangle.
|
* Returns the x-coordinate of the right side of the rectangle.
|
||||||
*/
|
*/
|
||||||
@ -80,7 +80,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return (this.X + this.Width);
|
return (this.X + this.Width);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the y-coordinate of the top of the rectangle.
|
* Returns the y-coordinate of the top of the rectangle.
|
||||||
*/
|
*/
|
||||||
@ -88,22 +88,22 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return this.Y;
|
return this.Y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the width of the rectangle.
|
* Specifies the width of the rectangle.
|
||||||
*/
|
*/
|
||||||
public int Width;
|
public int Width;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the x-coordinate of the rectangle.
|
* Specifies the x-coordinate of the rectangle.
|
||||||
*/
|
*/
|
||||||
public int X;
|
public int X;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the y-coordinate of the rectangle.
|
* Specifies the y-coordinate of the rectangle.
|
||||||
*/
|
*/
|
||||||
public int Y;
|
public int Y;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new instance of Rectangle.
|
* Initializes a new instance of Rectangle.
|
||||||
*
|
*
|
||||||
@ -121,12 +121,12 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public Rectangle(int x, int y, int width, int height)
|
public Rectangle(int x, int y, int width, int height)
|
||||||
{
|
{
|
||||||
this.X = x;
|
this.X = x;
|
||||||
this.Y = y;
|
this.Y = y;
|
||||||
this.Width = width;
|
this.Width = width;
|
||||||
this.Height = height;
|
this.Height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes a new instance of Rectangle.
|
* Initializes a new instance of Rectangle.
|
||||||
*/
|
*/
|
||||||
@ -137,7 +137,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
this.Width = 0;
|
this.Width = 0;
|
||||||
this.Height = 0;
|
this.Height = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether this Rectangle contains a specified Point.
|
* Determines whether this Rectangle contains a specified Point.
|
||||||
*
|
*
|
||||||
@ -146,9 +146,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public boolean Contains(Point value)
|
public boolean Contains(Point value)
|
||||||
{
|
{
|
||||||
return ((((this.X <= value.X) && (value.X < (this.X + this.Width))) && (this.Y <= value.Y)) && (value.Y < (this.Y + this.Height)));
|
return ((((this.X <= value.X) && (value.X < (this.X + this.Width))) && (this.Y <= value.Y)) && (value.Y < (this.Y + this.Height)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether this Rectangle entirely contains a specified Rectangle.
|
* Determines whether this Rectangle entirely contains a specified Rectangle.
|
||||||
*
|
*
|
||||||
@ -157,9 +157,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public boolean Contains(Rectangle value)
|
public boolean Contains(Rectangle value)
|
||||||
{
|
{
|
||||||
return ((((this.X <= value.X) && ((value.X + value.Width) <= (this.X + this.Width))) && (this.Y <= value.Y)) && ((value.Y + value.Height) <= (this.Y + this.Height)));
|
return ((((this.X <= value.X) && ((value.X + value.Width) <= (this.X + this.Width))) && (this.Y <= value.Y)) && ((value.Y + value.Height) <= (this.Y + this.Height)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether this Rectangle entirely contains a specified Rectangle.
|
* Determines whether this Rectangle entirely contains a specified Rectangle.
|
||||||
*
|
*
|
||||||
@ -171,9 +171,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Contains(Rectangle value, boolean result)
|
public void Contains(Rectangle value, boolean result)
|
||||||
{
|
{
|
||||||
result = (((this.X <= value.X) && ((value.X + value.Width) <= (this.X + this.Width))) && (this.Y <= value.Y)) && ((value.Y + value.Height) <= (this.Y + this.Height));
|
result = (((this.X <= value.X) && ((value.X + value.Width) <= (this.X + this.Width))) && (this.Y <= value.Y)) && ((value.Y + value.Height) <= (this.Y + this.Height));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates.
|
* Determines whether this Rectangle contains a specified point represented by its x- and y-coordinates.
|
||||||
*
|
*
|
||||||
@ -185,9 +185,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public boolean Contains(int x, int y)
|
public boolean Contains(int x, int y)
|
||||||
{
|
{
|
||||||
return ((((this.X <= x) && (x < (this.X + this.Width))) && (this.Y <= y)) && (y < (this.Y + this.Height)));
|
return ((((this.X <= x) && (x < (this.X + this.Width))) && (this.Y <= y)) && (y < (this.Y + this.Height)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether this Rectangle contains a specified Point.
|
* Determines whether this Rectangle contains a specified Point.
|
||||||
*
|
*
|
||||||
@ -199,9 +199,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Contains(Point value, boolean result)
|
public void Contains(Point value, boolean result)
|
||||||
{
|
{
|
||||||
result = (((this.X <= value.X) && (value.X < (this.X + this.Width))) && (this.Y <= value.Y)) && (value.Y < (this.Y + this.Height));
|
result = (((this.X <= value.X) && (value.X < (this.X + this.Width))) && (this.Y <= value.Y)) && (value.Y < (this.Y + this.Height));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether the specified Object is equal to the current instance.
|
* Determines whether the specified Object is equal to the current instance.
|
||||||
*
|
*
|
||||||
@ -213,7 +213,7 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
{
|
{
|
||||||
return (obj != null && obj instanceof Rectangle) ? this.Equals((Rectangle)obj) : false;
|
return (obj != null && obj instanceof Rectangle) ? this.Equals((Rectangle)obj) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether the specified Object is equal to the Rectangle.
|
* Determines whether the specified Object is equal to the Rectangle.
|
||||||
*
|
*
|
||||||
@ -222,17 +222,17 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public boolean Equals(Rectangle other)
|
public boolean Equals(Rectangle other)
|
||||||
{
|
{
|
||||||
return ((((this.X == other.X) && (this.Y == other.Y)) && (this.Width == other.Width)) && (this.Height == other.Height));
|
return ((((this.X == other.X) && (this.Y == other.Y)) && (this.Width == other.Width)) && (this.Height == other.Height));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the hash code for this object.
|
* Gets the hash code for this object.
|
||||||
*/
|
*/
|
||||||
public int GetHashCode()
|
public int GetHashCode()
|
||||||
{
|
{
|
||||||
return (this.X ^ this.Y ^ this.Width ^ this.Height);
|
return (this.X ^ this.Y ^ this.Width ^ this.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pushes the edges of the Rectangle out by the horizontal and vertical values specified.
|
* Pushes the edges of the Rectangle out by the horizontal and vertical values specified.
|
||||||
*
|
*
|
||||||
@ -244,12 +244,12 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Inflate(int horizontalAmount, int verticalAmount)
|
public void Inflate(int horizontalAmount, int verticalAmount)
|
||||||
{
|
{
|
||||||
this.X -= horizontalAmount;
|
this.X -= horizontalAmount;
|
||||||
this.Y -= verticalAmount;
|
this.Y -= verticalAmount;
|
||||||
this.Width += horizontalAmount * 2;
|
this.Width += horizontalAmount * 2;
|
||||||
this.Height += verticalAmount * 2;
|
this.Height += verticalAmount * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a Rectangle defining the area where one rectangle overlaps with another rectangle.
|
* Creates a Rectangle defining the area where one rectangle overlaps with another rectangle.
|
||||||
*
|
*
|
||||||
@ -264,30 +264,30 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public static Rectangle Intersect(Rectangle value1, Rectangle value2)
|
public static Rectangle Intersect(Rectangle value1, Rectangle value2)
|
||||||
{
|
{
|
||||||
Rectangle rectangle = Rectangle.Empty;
|
Rectangle rectangle = Rectangle.Empty;
|
||||||
int num8 = value1.X + value1.Width;
|
int num8 = value1.X + value1.Width;
|
||||||
int num7 = value2.X + value2.Width;
|
int num7 = value2.X + value2.Width;
|
||||||
int num6 = value1.Y + value1.Height;
|
int num6 = value1.Y + value1.Height;
|
||||||
int num5 = value2.Y + value2.Height;
|
int num5 = value2.Y + value2.Height;
|
||||||
int num2 = (value1.X > value2.X) ? value1.X : value2.X;
|
int num2 = (value1.X > value2.X) ? value1.X : value2.X;
|
||||||
int num = (value1.Y > value2.Y) ? value1.Y : value2.Y;
|
int num = (value1.Y > value2.Y) ? value1.Y : value2.Y;
|
||||||
int num4 = (num8 < num7) ? num8 : num7;
|
int num4 = (num8 < num7) ? num8 : num7;
|
||||||
int num3 = (num6 < num5) ? num6 : num5;
|
int num3 = (num6 < num5) ? num6 : num5;
|
||||||
if ((num4 > num2) && (num3 > num))
|
if ((num4 > num2) && (num3 > num))
|
||||||
{
|
{
|
||||||
rectangle.X = num2;
|
rectangle.X = num2;
|
||||||
rectangle.Y = num;
|
rectangle.Y = num;
|
||||||
rectangle.Width = num4 - num2;
|
rectangle.Width = num4 - num2;
|
||||||
rectangle.Height = num3 - num;
|
rectangle.Height = num3 - num;
|
||||||
return rectangle;
|
return rectangle;
|
||||||
}
|
}
|
||||||
rectangle.X = 0;
|
rectangle.X = 0;
|
||||||
rectangle.Y = 0;
|
rectangle.Y = 0;
|
||||||
rectangle.Width = 0;
|
rectangle.Width = 0;
|
||||||
rectangle.Height = 0;
|
rectangle.Height = 0;
|
||||||
return rectangle;
|
return rectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a Rectangle defining the area where one rectangle overlaps with another rectangle.
|
* Creates a Rectangle defining the area where one rectangle overlaps with another rectangle.
|
||||||
*
|
*
|
||||||
@ -302,30 +302,30 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public static void Intersect(Rectangle value1, Rectangle value2, Rectangle result)
|
public static void Intersect(Rectangle value1, Rectangle value2, Rectangle result)
|
||||||
{
|
{
|
||||||
int num8 = value1.X + value1.Width;
|
int num8 = value1.X + value1.Width;
|
||||||
int num7 = value2.X + value2.Width;
|
int num7 = value2.X + value2.Width;
|
||||||
int num6 = value1.Y + value1.Height;
|
int num6 = value1.Y + value1.Height;
|
||||||
int num5 = value2.Y + value2.Height;
|
int num5 = value2.Y + value2.Height;
|
||||||
int num2 = (value1.X > value2.X) ? value1.X : value2.X;
|
int num2 = (value1.X > value2.X) ? value1.X : value2.X;
|
||||||
int num = (value1.Y > value2.Y) ? value1.Y : value2.Y;
|
int num = (value1.Y > value2.Y) ? value1.Y : value2.Y;
|
||||||
int num4 = (num8 < num7) ? num8 : num7;
|
int num4 = (num8 < num7) ? num8 : num7;
|
||||||
int num3 = (num6 < num5) ? num6 : num5;
|
int num3 = (num6 < num5) ? num6 : num5;
|
||||||
if ((num4 > num2) && (num3 > num))
|
if ((num4 > num2) && (num3 > num))
|
||||||
{
|
{
|
||||||
result.X = num2;
|
result.X = num2;
|
||||||
result.Y = num;
|
result.Y = num;
|
||||||
result.Width = num4 - num2;
|
result.Width = num4 - num2;
|
||||||
result.Height = num3 - num;
|
result.Height = num3 - num;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result.X = 0;
|
result.X = 0;
|
||||||
result.Y = 0;
|
result.Y = 0;
|
||||||
result.Width = 0;
|
result.Width = 0;
|
||||||
result.Height = 0;
|
result.Height = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether a specified Rectangle intersects with this Rectangle.
|
* Determines whether a specified Rectangle intersects with this Rectangle.
|
||||||
*
|
*
|
||||||
@ -337,9 +337,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public boolean Intersects(Rectangle value)
|
public boolean Intersects(Rectangle value)
|
||||||
{
|
{
|
||||||
return ((((value.X < (this.X + this.Width)) && (this.X < (value.X + value.Width))) && (value.Y < (this.Y + this.Height))) && (this.Y < (value.Y + value.Height)));
|
return ((((value.X < (this.X + this.Width)) && (this.X < (value.X + value.Width))) && (value.Y < (this.Y + this.Height))) && (this.Y < (value.Y + value.Height)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether a specified Rectangle intersects with this Rectangle.
|
* Determines whether a specified Rectangle intersects with this Rectangle.
|
||||||
*
|
*
|
||||||
@ -351,9 +351,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Intersects(Rectangle value, boolean result)
|
public void Intersects(Rectangle value, boolean result)
|
||||||
{
|
{
|
||||||
result = (((value.X < (this.X + this.Width)) && (this.X < (value.X + value.Width))) && (value.Y < (this.Y + this.Height))) && (this.Y < (value.Y + value.Height));
|
result = (((value.X < (this.X + this.Width)) && (this.X < (value.X + value.Width))) && (value.Y < (this.Y + this.Height))) && (this.Y < (value.Y + value.Height));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the position of the Rectangle.
|
* Changes the position of the Rectangle.
|
||||||
*
|
*
|
||||||
@ -362,10 +362,10 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Offset(Point amount)
|
public void Offset(Point amount)
|
||||||
{
|
{
|
||||||
this.X += amount.X;
|
this.X += amount.X;
|
||||||
this.Y += amount.Y;
|
this.Y += amount.Y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the position of the Rectangle.
|
* Changes the position of the Rectangle.
|
||||||
*
|
*
|
||||||
@ -377,10 +377,10 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public void Offset(int offsetX, int offsetY)
|
public void Offset(int offsetX, int offsetY)
|
||||||
{
|
{
|
||||||
this.X += offsetX;
|
this.X += offsetX;
|
||||||
this.Y += offsetY;
|
this.Y += offsetY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves a string representation of the current object.
|
* Retrieves a string representation of the current object.
|
||||||
*
|
*
|
||||||
@ -389,9 +389,9 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return String.format(Locale.getDefault(), "{{X:%i Y:%i Width:%i Height:%i}}", this.X, this.Y, this.Width, this.Height);
|
return String.format(Locale.getDefault(), "{{X:%i Y:%i Width:%i Height:%i}}", this.X, this.Y, this.Width, this.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Rectangle that exactly contains two other rectangles.
|
* Creates a new Rectangle that exactly contains two other rectangles.
|
||||||
*
|
*
|
||||||
@ -403,22 +403,22 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public static Rectangle Union(Rectangle value1, Rectangle value2)
|
public static Rectangle Union(Rectangle value1, Rectangle value2)
|
||||||
{
|
{
|
||||||
Rectangle rectangle = Rectangle.Empty;
|
Rectangle rectangle = Rectangle.Empty;
|
||||||
int num6 = value1.X + value1.Width;
|
int num6 = value1.X + value1.Width;
|
||||||
int num5 = value2.X + value2.Width;
|
int num5 = value2.X + value2.Width;
|
||||||
int num4 = value1.Y + value1.Height;
|
int num4 = value1.Y + value1.Height;
|
||||||
int num3 = value2.Y + value2.Height;
|
int num3 = value2.Y + value2.Height;
|
||||||
int num2 = (value1.X < value2.X) ? value1.X : value2.X;
|
int num2 = (value1.X < value2.X) ? value1.X : value2.X;
|
||||||
int num = (value1.Y < value2.Y) ? value1.Y : value2.Y;
|
int num = (value1.Y < value2.Y) ? value1.Y : value2.Y;
|
||||||
int num8 = (num6 > num5) ? num6 : num5;
|
int num8 = (num6 > num5) ? num6 : num5;
|
||||||
int num7 = (num4 > num3) ? num4 : num3;
|
int num7 = (num4 > num3) ? num4 : num3;
|
||||||
rectangle.X = num2;
|
rectangle.X = num2;
|
||||||
rectangle.Y = num;
|
rectangle.Y = num;
|
||||||
rectangle.Width = num8 - num2;
|
rectangle.Width = num8 - num2;
|
||||||
rectangle.Height = num7 - num;
|
rectangle.Height = num7 - num;
|
||||||
return rectangle;
|
return rectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Rectangle that exactly contains two other rectangles.
|
* Creates a new Rectangle that exactly contains two other rectangles.
|
||||||
*
|
*
|
||||||
@ -433,17 +433,17 @@ public final class Rectangle extends ValueType implements IEquatable<Rectangle>
|
|||||||
*/
|
*/
|
||||||
public static void Union(Rectangle value1, Rectangle value2, Rectangle result)
|
public static void Union(Rectangle value1, Rectangle value2, Rectangle result)
|
||||||
{
|
{
|
||||||
int num6 = value1.X + value1.Width;
|
int num6 = value1.X + value1.Width;
|
||||||
int num5 = value2.X + value2.Width;
|
int num5 = value2.X + value2.Width;
|
||||||
int num4 = value1.Y + value1.Height;
|
int num4 = value1.Y + value1.Height;
|
||||||
int num3 = value2.Y + value2.Height;
|
int num3 = value2.Y + value2.Height;
|
||||||
int num2 = (value1.X < value2.X) ? value1.X : value2.X;
|
int num2 = (value1.X < value2.X) ? value1.X : value2.X;
|
||||||
int num = (value1.Y < value2.Y) ? value1.Y : value2.Y;
|
int num = (value1.Y < value2.Y) ? value1.Y : value2.Y;
|
||||||
int num8 = (num6 > num5) ? num6 : num5;
|
int num8 = (num6 > num5) ? num6 : num5;
|
||||||
int num7 = (num4 > num3) ? num4 : num3;
|
int num7 = (num4 > num3) ? num4 : num3;
|
||||||
result.X = num2;
|
result.X = num2;
|
||||||
result.Y = num;
|
result.Y = num;
|
||||||
result.Width = num8 - num2;
|
result.Width = num8 - num2;
|
||||||
result.Height = num7 - num;
|
result.Height = num7 - num;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,8 @@ public class TitleContainer
|
|||||||
{
|
{
|
||||||
if (exception instanceof java.io.FileNotFoundException)
|
if (exception instanceof java.io.FileNotFoundException)
|
||||||
{
|
{
|
||||||
throw new FileNotFoundException("", "name", exception);
|
// TODO: error message
|
||||||
|
throw new FileNotFoundException("", name, exception);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,26 @@ public class Uri
|
|||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This instance represents a relative URI, and this property is valid only for absolute URIs.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* A boolean value that is true if the System.Uri is a file URI; otherwise, false.
|
||||||
|
*
|
||||||
|
* @exception System.InvalidOperationException
|
||||||
|
* This instance represents a relative URI, and this property is valid only for absolute URIs.
|
||||||
|
*/
|
||||||
|
public boolean IsFile()
|
||||||
|
{
|
||||||
|
if (!this.IsAbsoluteUri())
|
||||||
|
{
|
||||||
|
// TODO: error message
|
||||||
|
throw new InvalidOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the original URI string that was passed to the System.Uri constructor.
|
* Gets the original URI string that was passed to the System.Uri constructor.
|
||||||
@ -35,37 +55,80 @@ public class Uri
|
|||||||
{
|
{
|
||||||
throw new InvalidOperationException("");
|
throw new InvalidOperationException("");
|
||||||
}
|
}
|
||||||
|
|
||||||
return uriString;
|
return uriString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param uriString
|
||||||
|
*/
|
||||||
public Uri(String uriString)
|
public Uri(String uriString)
|
||||||
{
|
{
|
||||||
this.uriString = uriString;
|
this.uriString = uriString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param uriString
|
||||||
|
* @param dontEscape
|
||||||
|
*/
|
||||||
public Uri(String uriString, boolean dontEscape)
|
public Uri(String uriString, boolean dontEscape)
|
||||||
{
|
{
|
||||||
this.uriString = uriString;
|
this.uriString = uriString;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uri(String uriString, UriKind uriKind)
|
public Uri(String uriString, UriKind uriKind)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uri(Uri baseUri, String relativeUri)
|
public Uri(Uri baseUri, String relativeUri)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uri(Uri baseUri, String relativeUri, boolean dontEscape)
|
public Uri(Uri baseUri, String relativeUri, boolean dontEscape)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Uri(Uri baseUri, Uri relativeUri)
|
public Uri(Uri baseUri, Uri relativeUri)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void Canonicalize()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void CheckSecurity()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UriHostNameType CheckHostName(String name)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean CheckSchemeName(String schemeName)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a canonical string representation for the specified System.Uri instance.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* A java.lang.String instance that contains the unescaped canonical representation of the System.Uri instance. All characters are unescaped except #, ?, and %.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
22
Microsoft.Xna.Framework/src/System/UriFormat.java
Normal file
22
Microsoft.Xna.Framework/src/System/UriFormat.java
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controls how URI information is escaped.
|
||||||
|
*
|
||||||
|
* @author Halofreak1990
|
||||||
|
*/
|
||||||
|
public enum UriFormat
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Escaping is performed according to the rules in RFC 2396.
|
||||||
|
*/
|
||||||
|
UriEscaped,
|
||||||
|
/**
|
||||||
|
* No escaping is performed.
|
||||||
|
*/
|
||||||
|
Unescaped,
|
||||||
|
/**
|
||||||
|
* Characters that have a reserved meaning in the requested URI components remain escaped. All others are not escaped. See Remarks.
|
||||||
|
*/
|
||||||
|
SafeUnescaped
|
||||||
|
}
|
43
Microsoft.Xna.Framework/src/System/UriFormatException.java
Normal file
43
Microsoft.Xna.Framework/src/System/UriFormatException.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The exception that is thrown when an invalid Uniform Resource Identifier (URI) is detected.
|
||||||
|
*
|
||||||
|
* @author Halofreak1990
|
||||||
|
*/
|
||||||
|
public class UriFormatException extends FormatException
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 3724278989095091838L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a new instance of the System.UriFormatException class.
|
||||||
|
*/
|
||||||
|
public UriFormatException()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a new instance of the System.UriFormatException class with the specified message.
|
||||||
|
*
|
||||||
|
* @param textString
|
||||||
|
* The error message string.
|
||||||
|
*/
|
||||||
|
public UriFormatException(String textString)
|
||||||
|
{
|
||||||
|
super(textString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a new instance of the System.UriFormatException class with a specified error message and a reference to the inner exception that is the cause of this exception.
|
||||||
|
*
|
||||||
|
* @param textString
|
||||||
|
* The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture.
|
||||||
|
*
|
||||||
|
* @param e
|
||||||
|
* The exception that is the cause of the current exception. If the innerException parameter is not null, the current exception is raised in a catch block that handles the inner exception.
|
||||||
|
*/
|
||||||
|
public UriFormatException(String textString, RuntimeException e)
|
||||||
|
{
|
||||||
|
super(textString, e);
|
||||||
|
}
|
||||||
|
}
|
30
Microsoft.Xna.Framework/src/System/UriHostNameType.java
Normal file
30
Microsoft.Xna.Framework/src/System/UriHostNameType.java
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines host name types for the System.Uri.CheckHostName(System.String) method.
|
||||||
|
*
|
||||||
|
* @author Halofreak1990
|
||||||
|
*/
|
||||||
|
public enum UriHostNameType
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The type of the host name is not supplied.
|
||||||
|
*/
|
||||||
|
Unknown,
|
||||||
|
/**
|
||||||
|
* The host is set, but the type cannot be determined.
|
||||||
|
*/
|
||||||
|
Basic,
|
||||||
|
/**
|
||||||
|
* The host name is a domain name system (DNS) style host name.
|
||||||
|
*/
|
||||||
|
Dns,
|
||||||
|
/**
|
||||||
|
* The host name is an Internet Protocol (IP) version 4 host address.
|
||||||
|
*/
|
||||||
|
IPv4,
|
||||||
|
/**
|
||||||
|
* The host name is an Internet Protocol (IP) version 6 host address.
|
||||||
|
*/
|
||||||
|
IPv6
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user