149 lines
5.7 KiB
Java
149 lines
5.7 KiB
Java
/* ====================================================================
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
==================================================================== */
|
|
package org.apache.poi.hwpf.model;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import org.apache.poi.hwpf.model.types.PICFAbstractType;
|
|
import org.apache.poi.util.Internal;
|
|
|
|
/**
|
|
* The PICF structure specifies the type of a picture, as well as the size of
|
|
* the picture and information about its border.
|
|
* <p>
|
|
* Class and fields descriptions are quoted from Microsoft Office Word 97-2007
|
|
* Binary File Format and [MS-DOC] - v20110608 Word (.doc) Binary File Format
|
|
*
|
|
* @author Sergey Vladimirov (vlsergey {at} gmail {dot} com)
|
|
*/
|
|
@Internal
|
|
public class PICF extends PICFAbstractType
|
|
{
|
|
|
|
public PICF()
|
|
{
|
|
}
|
|
|
|
public PICF( byte[] std, int offset )
|
|
{
|
|
fillFields( std, offset );
|
|
}
|
|
|
|
@Override
|
|
public boolean equals( Object obj )
|
|
{
|
|
if ( this == obj )
|
|
return true;
|
|
if ( obj == null )
|
|
return false;
|
|
if ( getClass() != obj.getClass() )
|
|
return false;
|
|
PICF other = (PICF) obj;
|
|
if ( field_10_padding2 != other.field_10_padding2 )
|
|
return false;
|
|
if ( field_11_dxaGoal != other.field_11_dxaGoal )
|
|
return false;
|
|
if ( field_12_dyaGoal != other.field_12_dyaGoal )
|
|
return false;
|
|
if ( field_13_mx != other.field_13_mx )
|
|
return false;
|
|
if ( field_14_my != other.field_14_my )
|
|
return false;
|
|
if ( field_15_dxaReserved1 != other.field_15_dxaReserved1 )
|
|
return false;
|
|
if ( field_16_dyaReserved1 != other.field_16_dyaReserved1 )
|
|
return false;
|
|
if ( field_17_dxaReserved2 != other.field_17_dxaReserved2 )
|
|
return false;
|
|
if ( field_18_dyaReserved2 != other.field_18_dyaReserved2 )
|
|
return false;
|
|
if ( field_19_fReserved != other.field_19_fReserved )
|
|
return false;
|
|
if ( field_1_lcb != other.field_1_lcb )
|
|
return false;
|
|
if ( field_20_bpp != other.field_20_bpp )
|
|
return false;
|
|
if ( !Arrays.equals( field_21_brcTop80, other.field_21_brcTop80 ) )
|
|
return false;
|
|
if ( !Arrays.equals( field_22_brcLeft80, other.field_22_brcLeft80 ) )
|
|
return false;
|
|
if ( !Arrays.equals( field_23_brcBottom80, other.field_23_brcBottom80 ) )
|
|
return false;
|
|
if ( !Arrays.equals( field_24_brcRight80, other.field_24_brcRight80 ) )
|
|
return false;
|
|
if ( field_25_dxaReserved3 != other.field_25_dxaReserved3 )
|
|
return false;
|
|
if ( field_26_dyaReserved3 != other.field_26_dyaReserved3 )
|
|
return false;
|
|
if ( field_27_cProps != other.field_27_cProps )
|
|
return false;
|
|
if ( field_2_cbHeader != other.field_2_cbHeader )
|
|
return false;
|
|
if ( field_3_mm != other.field_3_mm )
|
|
return false;
|
|
if ( field_4_xExt != other.field_4_xExt )
|
|
return false;
|
|
if ( field_5_yExt != other.field_5_yExt )
|
|
return false;
|
|
if ( field_6_swHMF != other.field_6_swHMF )
|
|
return false;
|
|
if ( field_7_grf != other.field_7_grf )
|
|
return false;
|
|
if ( field_8_padding != other.field_8_padding )
|
|
return false;
|
|
if ( field_9_mmPM != other.field_9_mmPM )
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode()
|
|
{
|
|
final int prime = 31;
|
|
int result = 1;
|
|
result = prime * result + field_10_padding2;
|
|
result = prime * result + field_11_dxaGoal;
|
|
result = prime * result + field_12_dyaGoal;
|
|
result = prime * result + field_13_mx;
|
|
result = prime * result + field_14_my;
|
|
result = prime * result + field_15_dxaReserved1;
|
|
result = prime * result + field_16_dyaReserved1;
|
|
result = prime * result + field_17_dxaReserved2;
|
|
result = prime * result + field_18_dyaReserved2;
|
|
result = prime * result + field_19_fReserved;
|
|
result = prime * result + field_1_lcb;
|
|
result = prime * result + field_20_bpp;
|
|
result = prime * result + Arrays.hashCode( field_21_brcTop80 );
|
|
result = prime * result + Arrays.hashCode( field_22_brcLeft80 );
|
|
result = prime * result + Arrays.hashCode( field_23_brcBottom80 );
|
|
result = prime * result + Arrays.hashCode( field_24_brcRight80 );
|
|
result = prime * result + field_25_dxaReserved3;
|
|
result = prime * result + field_26_dyaReserved3;
|
|
result = prime * result + field_27_cProps;
|
|
result = prime * result + field_2_cbHeader;
|
|
result = prime * result + field_3_mm;
|
|
result = prime * result + field_4_xExt;
|
|
result = prime * result + field_5_yExt;
|
|
result = prime * result + field_6_swHMF;
|
|
result = prime * result + field_7_grf;
|
|
result = prime * result + field_8_padding;
|
|
result = prime * result + field_9_mmPM;
|
|
return result;
|
|
}
|
|
|
|
}
|