public override bool SetFrameFormat(Image.PIXEL_FORMAT format, bool enabled) { if (enabled) { if (!this.mCameraImages.ContainsKey(format)) { if (QCARWrapper.Instance.QcarSetFrameFormat((int)format, 1) == 0) { Debug.LogError("Failed to set frame format"); return(false); } Image image = new ImageImpl { PixelFormat = format }; this.mCameraImages.Add(format, image); return(true); } } else if (this.mCameraImages.ContainsKey(format)) { if (QCARWrapper.Instance.QcarSetFrameFormat((int)format, 0) == 0) { Debug.LogError("Failed to set frame format"); return(false); } return(this.mCameraImages.Remove(format)); } return(true); }
private static void SetImageValues(QCARManagerImpl.ImageHeaderData imageHeader, ImageImpl image) { image.Width = imageHeader.width; image.Height = imageHeader.height; image.Stride = imageHeader.stride; image.BufferWidth = imageHeader.bufferWidth; image.BufferHeight = imageHeader.bufferHeight; image.PixelFormat = (Image.PIXEL_FORMAT)imageHeader.format; }
private static void AllocateImage(ImageImpl image) { image.Pixels = new byte[QCARWrapper.Instance.QcarGetBufferSize(image.BufferWidth, image.BufferHeight, (int)image.PixelFormat)]; Marshal.FreeHGlobal(image.UnmanagedData); image.UnmanagedData = Marshal.AllocHGlobal(QCARWrapper.Instance.QcarGetBufferSize(image.BufferWidth, image.BufferHeight, (int)image.PixelFormat)); }
public MovieListResult(JMovieListResult jMovieListResult) { if (jMovieListResult == null) { Genres = new IGenre[0]; Images = new IImage[0]; Poster = new ImageImpl(null); return; } Id = jMovieListResult.Id; SiteUrl = jMovieListResult.site_url; PublicationDate = DateTimeHelper.GetDateTimeFromUnixTime(jMovieListResult.publication_date); Slug = jMovieListResult.Slug; Title = jMovieListResult.Title; Description = jMovieListResult.Description; BodyText = jMovieListResult.body_text; IsEditorsChoice = jMovieListResult.is_editors_choice; FavoritesCount = jMovieListResult.favorites_count; Genres = jMovieListResult.Genres != null ? (IEnumerable <IGenre>)jMovieListResult.Genres.Select(g => new Genre(g)) : new IGenre[0]; CommentsCount = jMovieListResult.comments_count; OriginalTitle = jMovieListResult.original_title; Locale = jMovieListResult.Locale; Country = jMovieListResult.Country; Year = jMovieListResult.Year; Language = jMovieListResult.Language; RunningTime = jMovieListResult.running_time; BudgetCurrency = jMovieListResult.budget_currency; Budget = jMovieListResult.Budget; MpaaRating = jMovieListResult.mpaa_rating; AgeRestriction = jMovieListResult.age_restriction; Stars = jMovieListResult.Stars; Director = jMovieListResult.Director; Writer = jMovieListResult.Writer; Trailer = jMovieListResult.Trailer; Images = jMovieListResult.Images != null ? (IEnumerable <IImage>)jMovieListResult.Images.Select(i => new ImageImpl(i)) : new IImage[0]; Poster = new ImageImpl(jMovieListResult.Poster); Url = jMovieListResult.Url; ImdbUrl = jMovieListResult.imdb_url; ImdbRating = jMovieListResult.imdb_rating; Status = jMovieListResult.Status; }
public SelectionItem(JSelectionItem jSelectionItem) { if (jSelectionItem == null) { Place = new Place(null); Daterange = new DateImpl(null); FirstImage = new ImageImpl(null); return; } Id = jSelectionItem.Id; Title = jSelectionItem.Title; Description = jSelectionItem.Description; CType = jSelectionItem.CType; Place = new Place(jSelectionItem.Place); Daterange = new DateImpl(jSelectionItem.Daterange); FirstImage = new ImageImpl(jSelectionItem.first_image); ItemUrl = jSelectionItem.Item_url; }
private void CreateLetterMask() { this.InitImageHeader(); ImageImpl mLetterMask = (ImageImpl)this.mLetterMask; SetImageValues(this.mLetterImageHeader, mLetterMask); AllocateImage(mLetterMask); this.mLetterImageHeader.data = mLetterMask.UnmanagedData; IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(QCARManagerImpl.ImageHeaderData))); Marshal.StructureToPtr(this.mLetterImageHeader, ptr, false); QCARWrapper.Instance.WordGetLetterMask(base.ID, ptr); this.mLetterImageHeader = (QCARManagerImpl.ImageHeaderData)Marshal.PtrToStructure(ptr, typeof(QCARManagerImpl.ImageHeaderData)); if (this.mLetterImageHeader.reallocate == 1) { Debug.LogWarning("image wasn't allocated correctly"); } else { mLetterMask.CopyPixelsFromUnmanagedBuffer(); this.mLetterMask = mLetterMask; Marshal.FreeHGlobal(ptr); } }
public SearchResult(JSearchResult jResult) : base(jResult) { if (jResult == null) { Place = new Place(new JPlace()); Coords = new Coordinates(new JCoordinates()); Dates = new DateImpl(new JDate()); FirstImage = new ImageImpl(new JImage()); return; } Id = jResult.Id; Title = jResult.Title; Description = jResult.Description; Address = jResult.Address; IsClosed = jResult.Is_Closed; IsStub = jResult.Is_Stub; CType = jResult.Ctype.GetCType(); Place = new Place(jResult.Place); Coords = new Coordinates(jResult.Coords); FirstImage = new ImageImpl(jResult.first_image); ItemUrl = jResult.item_url; Dates = new DateImpl(jResult.Daterange); }
// Enables or disables the request of the camera image in the desired pixel // format. Returns true on success, false otherwise. Note that this may // result in processing overhead. Image are accessed using GetCameraImage. // Note that there may be a delay of several frames until the camera image // becomes availables. public override bool SetFrameFormat(Image.PIXEL_FORMAT format, bool enabled) { if (enabled) { if (!mCameraImages.ContainsKey(format)) { if (QCARWrapper.Instance.QcarSetFrameFormat((int)format, 1) == 0) { Debug.LogError("Failed to set frame format"); return false; } Image newImage = new ImageImpl(); newImage.PixelFormat = format; mCameraImages.Add(format, newImage); return true; } } else { if (mCameraImages.ContainsKey(format)) { if (QCARWrapper.Instance.QcarSetFrameFormat((int)format, 0) == 0) { Debug.LogError("Failed to set frame format"); return false; } return mCameraImages.Remove(format); } } return true; }
public static StorageClass Parse(WordReader reader, uint wordCount) { var id = (Enumerant)reader.ReadWord(); switch (id) { case Enumerant.UniformConstant: return(UniformConstantImpl.Parse(reader, wordCount - 1)); case Enumerant.Input: return(InputImpl.Parse(reader, wordCount - 1)); case Enumerant.Uniform: return(UniformImpl.Parse(reader, wordCount - 1)); case Enumerant.Output: return(OutputImpl.Parse(reader, wordCount - 1)); case Enumerant.Workgroup: return(WorkgroupImpl.Parse(reader, wordCount - 1)); case Enumerant.CrossWorkgroup: return(CrossWorkgroupImpl.Parse(reader, wordCount - 1)); case Enumerant.Private: return(PrivateImpl.Parse(reader, wordCount - 1)); case Enumerant.Function: return(FunctionImpl.Parse(reader, wordCount - 1)); case Enumerant.Generic: return(GenericImpl.Parse(reader, wordCount - 1)); case Enumerant.PushConstant: return(PushConstantImpl.Parse(reader, wordCount - 1)); case Enumerant.AtomicCounter: return(AtomicCounterImpl.Parse(reader, wordCount - 1)); case Enumerant.Image: return(ImageImpl.Parse(reader, wordCount - 1)); case Enumerant.StorageBuffer: return(StorageBufferImpl.Parse(reader, wordCount - 1)); case Enumerant.CallableDataNV: return(CallableDataNVImpl.Parse(reader, wordCount - 1)); //CallableDataKHR has the same id as another value in enum. //case Enumerant.CallableDataKHR : // return CallableDataKHR.Parse(reader, wordCount - 1); case Enumerant.IncomingCallableDataNV: return(IncomingCallableDataNVImpl.Parse(reader, wordCount - 1)); //IncomingCallableDataKHR has the same id as another value in enum. //case Enumerant.IncomingCallableDataKHR : // return IncomingCallableDataKHR.Parse(reader, wordCount - 1); case Enumerant.RayPayloadNV: return(RayPayloadNVImpl.Parse(reader, wordCount - 1)); //RayPayloadKHR has the same id as another value in enum. //case Enumerant.RayPayloadKHR : // return RayPayloadKHR.Parse(reader, wordCount - 1); case Enumerant.HitAttributeNV: return(HitAttributeNVImpl.Parse(reader, wordCount - 1)); //HitAttributeKHR has the same id as another value in enum. //case Enumerant.HitAttributeKHR : // return HitAttributeKHR.Parse(reader, wordCount - 1); case Enumerant.IncomingRayPayloadNV: return(IncomingRayPayloadNVImpl.Parse(reader, wordCount - 1)); //IncomingRayPayloadKHR has the same id as another value in enum. //case Enumerant.IncomingRayPayloadKHR : // return IncomingRayPayloadKHR.Parse(reader, wordCount - 1); case Enumerant.ShaderRecordBufferNV: return(ShaderRecordBufferNVImpl.Parse(reader, wordCount - 1)); //ShaderRecordBufferKHR has the same id as another value in enum. //case Enumerant.ShaderRecordBufferKHR : // return ShaderRecordBufferKHR.Parse(reader, wordCount - 1); case Enumerant.PhysicalStorageBuffer: return(PhysicalStorageBufferImpl.Parse(reader, wordCount - 1)); //PhysicalStorageBufferEXT has the same id as another value in enum. //case Enumerant.PhysicalStorageBufferEXT : // return PhysicalStorageBufferEXT.Parse(reader, wordCount - 1); default: throw new IndexOutOfRangeException("Unknown StorageClass " + id); } }
private static void SetImageValues(QCARManagerImpl.ImageHeaderData imageHeader, ImageImpl image) { image.Width = imageHeader.width; image.Height = imageHeader.height; image.Stride = imageHeader.stride; image.BufferWidth = imageHeader.bufferWidth; image.BufferHeight = imageHeader.bufferHeight; image.PixelFormat = (Image.PIXEL_FORMAT)imageHeader.format; }
private static void AllocateImage(ImageImpl image) { image.Pixels = new byte[QCARWrapper.Instance.QcarGetBufferSize(image.BufferWidth, image.BufferHeight, (int)image.PixelFormat)]; Marshal.FreeHGlobal(image.UnmanagedData); image.UnmanagedData = Marshal.AllocHGlobal(QCARWrapper.Instance.QcarGetBufferSize(image.BufferWidth, image.BufferHeight, (int)image.PixelFormat)); }